python怎么画圆并改变线条颜色_基于logi的matplotlib中线条颜色的改变
rassar's answer,使用條件選擇顏色(或繪圖樣式)是正確的。對(duì)于簡(jiǎn)單的情況,這是完全可以的。在
對(duì)于更復(fù)雜的情況,為了讓自己適應(yīng)這些情況,還有另一種選擇:決策函數(shù)。通常在d3js、Bokeh和可視化應(yīng)用程序中看到這些。在
對(duì)于一個(gè)簡(jiǎn)單的例子,它類似于:color_choice = lambda x: 'blue' if x > 5 else 'orange'
for sublist in np_combined:
plt.plot(times, sublist, color=color_choice(max(sublist)))
這里color_choice也可以是傳統(tǒng)的函數(shù)定義。使用lambda函數(shù)只是因?yàn)樗且粋€(gè)簡(jiǎn)短的一行程序。在
對(duì)于簡(jiǎn)單的情況,定義選擇函數(shù)可能不會(huì)比條件函數(shù)好多少。但是假設(shè)你還想定義一個(gè)線條樣式,而不是使用與顏色選擇相同的條件。E、 g.:
^{pr2}$
現(xiàn)在你陷入了一個(gè)令人困惑的困境,因?yàn)槟阌刑嗟拇a只用于相對(duì)簡(jiǎn)單的顏色和線條選擇。它是重復(fù)的,違反了軟件工程的DRY原則,會(huì)引起錯(cuò)誤。在
決策函數(shù)可以極大地清除這些問(wèn)題:color_choice = lambda x: 'blue' if x > 5 else 'orange'
def line_choice(x):
if x > 10: return ' '
if x > 2: return '-'
return '.'
for sublist in np_combined:
largest = max(sublist)
plt.plot(times, sublist,
color=color_choice(largest)),
ls=line_choice(largest))
這不僅清理了代碼,本地化了決策邏輯,而且隨著程序的發(fā)展,更容易更改顏色、樣式和其他選擇。唯一的缺點(diǎn)是Python缺少D3的excellent selection of mapping functions, aka "scales"。在
總結(jié)
以上是生活随笔為你收集整理的python怎么画圆并改变线条颜色_基于logi的matplotlib中线条颜色的改变的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 6、DRN-----深度强化学习在新闻推
- 下一篇: 徐雷“退休”,许冉接棒,刘强东重回一线打