[英]How to change color of drawn points on pyGal line chart
我通过传入要绘制的数字数组来创建使用pygal的折线图。 我希望图表上标记的点在一定范围之内/之外时会改变颜色。 即,如果记录的点超过40,则将其着色为红色,如果记录的点低于20,则将其着色为蓝色。
似乎没有一种简单的方法可以遍历数组并绘制单个点。
该图使用以下代码制作:
customStyle = Style(colors=["#000000"])
chart = pygal.Line(style=customStyle)
chart.title = 'Browser usage evolution (in %)'
chart.x_labels = recordedDates
chart.add('Humidity', recordedHumidity)
chart.render_to_png("out.png")
我希望所有点都高于40红色和低于20蓝色。
您可以用告诉Pygal如何呈现数据点的dict
替换数组中的数字。 该dict
必须包含的关键value
,这是你会通过数量,沿着你想使用的任何自定义选项。 可用选项的列表在文档的值配置页面上提供,但是您需要的是color
。
您可以简单地遍历现有数组,创建一个字典,在其中为该值适当设置color
:
data = []
for v in recordedHumidity:
if v > 40:
data.append({"value": v, "color": "red"})
elif v < 20:
data.append({"value": v, "color": "blue"})
else:
data.append(v)
然后,您可以在添加序列时传递新创建的数组:
customStyle = Style(colors=["#000000"])
chart = pygal.Line(style=customStyle)
chart.x_labels = recordedDates
chart.add('Humidity', data)
chart.render_to_png("out.png")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.