我正在用GnuplotPy绘制一些直方图,我想更改直方图条的颜色。(默认情况下,条形图为红色。)这篇StackOverflow文章中的答案给出了几个在普通Gnuplot中如何更改直方图条颜色的选项,但是我还无法让这些解决方案在GnuplotPy中工作。
以下是我使用的基本设置:
import Gnuplot
gp = Gnuplot.Gnuplot(persist = 1)
gp('set ylabel "Accuracy"')
gp('set format x " "') #remove the auto-generated xtics labels
gp('set xtics scale 0') #remove xtic marks.
gp(r'set xtics add ("Method 1" 0.15) ("Method 2" 1.15)')
dataToPlot = [6.9, 47.6]
gp('set style data histograms')
gp('set style fill solid 1.0 border -1')
plot1 = Gnuplot.PlotItems.Data(dataToPlot)
gp.plot(plot1)
gp.hardcopy('hist_example.eps',terminal = 'postscript', enhanced=1, color=1) #must come after plot() function
gp.reset() #must be placed after hardcopy()
上面的代码没有尝试设置直方图条的颜色,它生成了一个带有红色条的直方图:
我尝试了几种方法将直方图条颜色更改为蓝色,但都没有成功。
首先,在这篇文章中,按照mgilson的建议,我尝试添加以下行,但它抛出了一个错误,并且条仍然显示为红色:
gp('set style lc rgb "blue"') #throws this error: line 0: expecting 'data', 'function', 'line', 'fill' or 'arrow'
我还尝试了对代码的以下修改,它在不生成绘图的情况下抛出了一个错误:
plot1 = Gnuplot.PlotItems.Data(dataToPlot, with_="linecolor rgb 'blue'") #throws this error: plot "/var/folders/98/st7ct15n227g1p92mljkx93m0000gq/T/tmp875mRk.gnuplot/fifo" notitle with linecolor rgb 'blue' ^ line 0: expecting 'lines', 'points', 'linespoints', 'dots', 'impulses', 'yerrorbars', 'xerrorbars', 'xyerrorbars', 'steps', 'fsteps', 'histeps', 'filledcurves', 'boxes', 'boxerrorbars', 'boxxyerrorbars', 'vectors', 'financebars', 'candlesticks', 'errorlines', 'xerrorlines', 'yerrorlines', 'xyerrorlines', 'pm3d', 'labels', 'histograms', 'image', 'rgbimage'
那么,如何在GnuplotPy中更改直方图条的颜色呢?
另一种可能有效的黑客方法是:
plot1 = Gnuplot.PlotItems.Data(dataToPlot, with_="histograms linecolor rgb 'blue'")
在我看来,gnuplot py
应该允许以下语法:
plot1 = Gnuplot.PlotItems.Data(dataToPlot, with_="histograms",linecolor="rgb 'blue'")
或者类似的。我现在没有一个好的测试用例来进行实验。。。
是否可以动态更改Gnuplot脚本中条的颜色?我有以下脚本 这将生成此绘图: 有没有可能使零度以下的色条变成红色? 谢谢, 斯文
我正在使用gnuplot绘制条形图。 问题是:我希望每个酒吧都有不同的颜色。例如:红色的MSA-GA ACO和蓝色的MSA-GA PACO。 我该怎么做呢? 以下是我使用过的命令: “data.dat”:
我正在制作一个应用程序,它需要一些数据来制作一个条形图,但条形的颜色必须与它所代表的数据相关。 想象一下我有这种数据:香蕉430水梅隆300 现在我要做一个条形图,我想用黄色颜料画BANANA酒吧,用绿色颜料画WATER MELLON酒吧。我正在使用java中的JFreeChart库。我的研究使我制作了自定义渲染器,但如果我制作自定义渲染器的话,颜色会随机出现在条形图上。有什么解决办法吗?
我试图显示一个图像的直方图,只显示一些颜色。我已经用JFreeChart和createXYLineChart实现了这一点,并通过遍历所有像素来获取所有数据。 为了加快速度,我尝试用“createhistogram”来完成它。我遵循了这个准则。 为了用新值更新图表,我使用了以下两种方法: setHistogram是一种方法,它根据激活的复选框(布尔红色、绿色和蓝色)返回HistogramDatase
假设我有一个数据帧,如: 我正在做下面的绘图程序: 这意味着: 现在,我希望能够在数据帧a上执行数据选择。比如说: 并在张贴的直方图中突出显示从b中选择的内容。例如,如果对于X3,b的第一行是[32:0],对于X2,b的第一行是[0:5],则期望的输出将是: 使用上述for循环和sns是否可以实现这一点?非常感谢! 编辑:我也很高兴matplotlib解决方案,如果更容易。 编辑2: 如果有帮助,
这个教程中我们会涉及条形图和直方图。我们先来看条形图: import matplotlib.pyplot as plt plt.bar([1,3,5,7,9],[5,2,7,8,2], label="Example one") plt.bar([2,4,6,8,10],[8,6,2,5,6], label="Example two", color='g') plt.legend() plt.xla