这篇文章主要围绕带有matplotlib散布的颜色的季节性循环和matplotlib颜色列表展开,旨在为您提供一份详细的参考资料。我们将全面介绍带有matplotlib散布的颜色的季节性循环的优缺点,
这篇文章主要围绕带有matplotlib散布的颜色的季节性循环和matplotlib 颜色列表展开,旨在为您提供一份详细的参考资料。我们将全面介绍带有matplotlib散布的颜色的季节性循环的优缺点,解答matplotlib 颜色列表的相关问题,同时也会为您带来ImportError:未安装带有matplotlib的名为matplotlib的模块、matplotlib 中 color 可用的颜色、Matplotlib 绘图的颜色在意外时自动更改、Matplotlib-基于光谱颜色的曲线下颜色的实用方法。
本文目录一览:- 带有matplotlib散布的颜色的季节性循环(matplotlib 颜色列表)
- ImportError:未安装带有matplotlib的名为matplotlib的模块
- matplotlib 中 color 可用的颜色
- Matplotlib 绘图的颜色在意外时自动更改
- Matplotlib-基于光谱颜色的曲线下颜色
带有matplotlib散布的颜色的季节性循环(matplotlib 颜色列表)
进行散点图时如何获得深浅的颜色?
import matplotlib.pyplot as pltimport seaborn as snsax=fig.add_subplot(111)for f in files: ax.scatter(args) # all datasets end up same colour #plt.plot(args) # cycles through palette correctly
答案1
小编典典您必须告诉matplotlib使用哪种颜色。例如,使用seaborn的默认调色板:
import matplotlib.pyplot as pltimport seaborn as snsimport itertoolsax=fig.add_subplot(111)palette = itertools.cycle(sns.color_palette())for f in files: ax.scatter(args, color=next(palette))
这样itertools.cycle
可以确保我们不会用完所有颜色,并在使用最后一种颜色后再从第一种颜色开始。
更新:
根据@Iceflower的评论,通过创建自定义调色板
palette = sns.color_palette(None, len(files))
可能是一个更好的解决方案。不同之处在于,我最上面的原始答案会尽可能地遍历默认颜色,而此解决方案创建的调色板具有与文件一样多的色相。这意味着不会重复任何颜色,但是颜色之间的差异可能非常细微。
ImportError:未安装带有matplotlib的名为matplotlib的模块
代码行:
import matplotlib
错误:
ImportError:没有名为“ matplotlib”的模块
问题:
which python3.4 % /usr/bin/python3.4
matplotlib在哪里安装?
sudo find /usr | grep matplotlib % /usr/lib/pymodules/python2.7/matplotlib/...
一些注意事项:
- 操作系统:Linux Mint 17.2
- 我需要使用Python 3.4
解决方案:
-
import sys sys.path.append('/usr/lib/pymodules/python2.7/')
(对此不满意)。 -
使用
pip3 install matplotlib
或sudo pip3 install matplotlib
(接收错误,我也不喜欢这一点)。 -
使用
sudo apt-get install python-matplotlib
(可能是完美的选择,但在python2.7目录中安装了matplotlib)。
我如何使Matplotlib适用于python3?谢谢
matplotlib 中 color 可用的颜色
https://blog.csdn.net/wuzlun/article/details/80059222 Python 绘图总结 (Matplotlib 篇) 之画布、颜色、及样式
https://blog.csdn.net/lk274857347/article/details/56845818 Matlab 画图线型、符号及颜色汇总
http://stackoverflow.com/questions/22408237/named-colors-in-matplotlib
参考网址给出了 matplotlib 中 color 可用的颜色:

cnames = {
''aliceblue'': ''#F0F8FF'',
''antiquewhite'': ''#FAEBD7'',
''aqua'': ''#00FFFF'',
''aquamarine'': ''#7FFFD4'',
''azure'': ''#F0FFFF'',
''beige'': ''#F5F5DC'',
''bisque'': ''#FFE4C4'',
''black'': ''#000000'',
''blanchedalmond'': ''#FFEBCD'',
''blue'': ''#0000FF'',
''blueviolet'': ''#8A2BE2'',
''brown'': ''#A52A2A'',
''burlywood'': ''#DEB887'',
''cadetblue'': ''#5F9EA0'',
''chartreuse'': ''#7FFF00'',
''chocolate'': ''#D2691E'',
''coral'': ''#FF7F50'',
''cornflowerblue'': ''#6495ED'',
''cornsilk'': ''#FFF8DC'',
''crimson'': ''#DC143C'',
''cyan'': ''#00FFFF'',
''darkblue'': ''#00008B'',
''darkcyan'': ''#008B8B'',
''darkgoldenrod'': ''#B8860B'',
''darkgray'': ''#A9A9A9'',
''darkgreen'': ''#006400'',
''darkkhaki'': ''#BDB76B'',
''darkmagenta'': ''#8B008B'',
''darkolivegreen'': ''#556B2F'',
''darkorange'': ''#FF8C00'',
''darkorchid'': ''#9932CC'',
''darkred'': ''#8B0000'',
''darksalmon'': ''#E9967A'',
''darkseagreen'': ''#8FBC8F'',
''darkslateblue'': ''#483D8B'',
''darkslategray'': ''#2F4F4F'',
''darkturquoise'': ''#00CED1'',
''darkviolet'': ''#9400D3'',
''deeppink'': ''#FF1493'',
''deepskyblue'': ''#00BFFF'',
''dimgray'': ''#696969'',
''dodgerblue'': ''#1E90FF'',
''firebrick'': ''#B22222'',
''floralwhite'': ''#FFFAF0'',
''forestgreen'': ''#228B22'',
''fuchsia'': ''#FF00FF'',
''gainsboro'': ''#DCDCDC'',
''ghostwhite'': ''#F8F8FF'',
''gold'': ''#FFD700'',
''goldenrod'': ''#DAA520'',
''gray'': ''#808080'',
''green'': ''#008000'',
''greenyellow'': ''#ADFF2F'',
''honeydew'': ''#F0FFF0'',
''hotpink'': ''#FF69B4'',
''indianred'': ''#CD5C5C'',
''indigo'': ''#4B0082'',
''ivory'': ''#FFFFF0'',
''khaki'': ''#F0E68C'',
''lavender'': ''#E6E6FA'',
''lavenderblush'': ''#FFF0F5'',
''lawngreen'': ''#7CFC00'',
''lemonchiffon'': ''#FFFACD'',
''lightblue'': ''#ADD8E6'',
''lightcoral'': ''#F08080'',
''lightcyan'': ''#E0FFFF'',
''lightgoldenrodyellow'': ''#FAFAD2'',
''lightgreen'': ''#90EE90'',
''lightgray'': ''#D3D3D3'',
''lightpink'': ''#FFB6C1'',
''lightsalmon'': ''#FFA07A'',
''lightseagreen'': ''#20B2AA'',
''lightskyblue'': ''#87CEFA'',
''lightslategray'': ''#778899'',
''lightsteelblue'': ''#B0C4DE'',
''lightyellow'': ''#FFFFE0'',
''lime'': ''#00FF00'',
''limegreen'': ''#32CD32'',
''linen'': ''#FAF0E6'',
''magenta'': ''#FF00FF'',
''maroon'': ''#800000'',
''mediumaquamarine'': ''#66CDAA'',
''mediumblue'': ''#0000CD'',
''mediumorchid'': ''#BA55D3'',
''mediumpurple'': ''#9370DB'',
''mediumseagreen'': ''#3CB371'',
''mediumslateblue'': ''#7B68EE'',
''mediumspringgreen'': ''#00FA9A'',
''mediumturquoise'': ''#48D1CC'',
''mediumvioletred'': ''#C71585'',
''midnightblue'': ''#191970'',
''mintcream'': ''#F5FFFA'',
''mistyrose'': ''#FFE4E1'',
''moccasin'': ''#FFE4B5'',
''navajowhite'': ''#FFDEAD'',
''navy'': ''#000080'',
''oldlace'': ''#FDF5E6'',
''olive'': ''#808000'',
''olivedrab'': ''#6B8E23'',
''orange'': ''#FFA500'',
''orangered'': ''#FF4500'',
''orchid'': ''#DA70D6'',
''palegoldenrod'': ''#EEE8AA'',
''palegreen'': ''#98FB98'',
''paleturquoise'': ''#AFEEEE'',
''palevioletred'': ''#DB7093'',
''papayawhip'': ''#FFEFD5'',
''peachpuff'': ''#FFDAB9'',
''peru'': ''#CD853F'',
''pink'': ''#FFC0CB'',
''plum'': ''#DDA0DD'',
''powderblue'': ''#B0E0E6'',
''purple'': ''#800080'',
''red'': ''#FF0000'',
''rosybrown'': ''#BC8F8F'',
''royalblue'': ''#4169E1'',
''saddlebrown'': ''#8B4513'',
''salmon'': ''#FA8072'',
''sandybrown'': ''#FAA460'',
''seagreen'': ''#2E8B57'',
''seashell'': ''#FFF5EE'',
''sienna'': ''#A0522D'',
''silver'': ''#C0C0C0'',
''skyblue'': ''#87CEEB'',
''slateblue'': ''#6A5ACD'',
''slategray'': ''#708090'',
''snow'': ''#FFFAFA'',
''springgreen'': ''#00FF7F'',
''steelblue'': ''#4682B4'',
''tan'': ''#D2B48C'',
''teal'': ''#008080'',
''thistle'': ''#D8BFD8'',
''tomato'': ''#FF6347'',
''turquoise'': ''#40E0D0'',
''violet'': ''#EE82EE'',
''wheat'': ''#F5DEB3'',
''white'': ''#FFFFFF'',
''whitesmoke'': ''#F5F5F5'',
''yellow'': ''#FFFF00'',
''yellowgreen'': ''#9ACD32''}

上面对应的颜色:
另外的显示方式:
装了 seaborn 扩展的话,在字典 seaborn.xkcd_rgb 中包含所有的 xkcd crowdsourced color names。如下:
plt.plot([1,2], lw=4, c=seaborn.xkcd_rgb[''baby poop green''])
所有颜色如下:
Matplotlib 绘图的颜色在意外时自动更改
在 currentBuild.rebuild
解决问题后调用 plt.close()
。
这解决了失真问题,并且所有绘图的颜色都相同。
感谢 @Jody Klymak 评论“重置循环仪”
Matplotlib-基于光谱颜色的曲线下颜色
我想绘制一个光谱图,其中曲线下方的区域将根据光的相应颜色进行着色。类似于此情节:
我曾尝试在matplotlib仿效这一点,通过使用imshow
与spectral
色彩表绘制颜色,白色fill_between
,掩盖了曲线以上的区域。除以下两点外,我对结果感到非常满意:
1)我绘制的颜色与可见光谱不太吻合。例如,当红色为红色时,我将700
nm显示为黄色/橙色。我很高兴有点程式化的表现(例如,我认为在第二个答案显示的准确的色彩在这里很无聊),但在一般情况下,我想波长与他们的可见颜色一致。
2)我喜欢上面的光谱如何将可见区域之外的区域着色为alpha <1.0。我不确定如何实现这一目标。
这是我到目前为止的内容:
import numpy as npimport matplotlib.pyplot as pltfig, axs = plt.subplots(1, 1, figsize=(8,4), tight_layout=True)wavelengths = np.linspace(200, 1000, 1000)spectrum = (5 + np.sin(wavelengths*0.1)**2) * np.exp(-0.00002*(wavelengths-600)**2)plt.plot(wavelengths, spectrum, color=''darkred'')y = np.linspace(0, 6, 100)X,Y = np.meshgrid(wavelengths, y)X[X<400] = 400extent=(np.min(wavelengths), np.max(wavelengths), np.min(y), np.max(y))plt.imshow(X, clim=(350,820), extent=extent, cmap=plt.get_cmap(''spectral''), aspect=''auto'')plt.xlabel(''Wavelength (nm)'')plt.ylabel(''Intensity'')plt.fill_between(wavelengths, spectrum, 8, color=''w'')plt.savefig(''WavelengthColors.png'', dpi=200)plt.show()
答案1
小编典典首先,您需要一个将波长作为输入并返回RGB颜色的函数。这样的功能可以在这里找到。可以使它适应返回一个Alpha值,该Alpha值在可见颜色范围之外小于1。
此功能可用于创建颜色图。使用体面的归一化可以将波长范围映射到0到1之间的范围,以便可以在imshow图中使用此色图。
import numpy as npimport matplotlib.pyplot as pltimport matplotlib.colorsdef wavelength_to_rgb(wavelength, gamma=0.8): '''''' taken from http://www.noah.org/wiki/Wavelength_to_RGB_in_Python This converts a given wavelength of light to an approximate RGB color value. The wavelength must be given in nanometers in the range from 380 nm through 750 nm (789 THz through 400 THz). Based on code by Dan Bruton http://www.physics.sfasu.edu/astro/color/spectra.html Additionally alpha value set to 0.5 outside range '''''' wavelength = float(wavelength) if wavelength >= 380 and wavelength <= 750: A = 1. else: A=0.5 if wavelength < 380: wavelength = 380. if wavelength >750: wavelength = 750. if wavelength >= 380 and wavelength <= 440: attenuation = 0.3 + 0.7 * (wavelength - 380) / (440 - 380) R = ((-(wavelength - 440) / (440 - 380)) * attenuation) ** gamma G = 0.0 B = (1.0 * attenuation) ** gamma elif wavelength >= 440 and wavelength <= 490: R = 0.0 G = ((wavelength - 440) / (490 - 440)) ** gamma B = 1.0 elif wavelength >= 490 and wavelength <= 510: R = 0.0 G = 1.0 B = (-(wavelength - 510) / (510 - 490)) ** gamma elif wavelength >= 510 and wavelength <= 580: R = ((wavelength - 510) / (580 - 510)) ** gamma G = 1.0 B = 0.0 elif wavelength >= 580 and wavelength <= 645: R = 1.0 G = (-(wavelength - 645) / (645 - 580)) ** gamma B = 0.0 elif wavelength >= 645 and wavelength <= 750: attenuation = 0.3 + 0.7 * (750 - wavelength) / (750 - 645) R = (1.0 * attenuation) ** gamma G = 0.0 B = 0.0 else: R = 0.0 G = 0.0 B = 0.0 return (R,G,B,A)clim=(350,780)norm = plt.Normalize(*clim)wl = np.arange(clim[0],clim[1]+1,2)colorlist = list(zip(norm(wl),[wavelength_to_rgb(w) for w in wl]))spectralmap = matplotlib.colors.LinearSegmentedColormap.from_list("spectrum", colorlist)fig, axs = plt.subplots(1, 1, figsize=(8,4), tight_layout=True)wavelengths = np.linspace(200, 1000, 1000)spectrum = (5 + np.sin(wavelengths*0.1)**2) * np.exp(-0.00002*(wavelengths-600)**2)plt.plot(wavelengths, spectrum, color=''darkred'')y = np.linspace(0, 6, 100)X,Y = np.meshgrid(wavelengths, y)extent=(np.min(wavelengths), np.max(wavelengths), np.min(y), np.max(y))plt.imshow(X, clim=clim, extent=extent, cmap=spectralmap, aspect=''auto'')plt.xlabel(''Wavelength (nm)'')plt.ylabel(''Intensity'')plt.fill_between(wavelengths, spectrum, 8, color=''w'')plt.savefig(''WavelengthColors.png'', dpi=200)plt.show()
今天关于带有matplotlib散布的颜色的季节性循环和matplotlib 颜色列表的分享就到这里,希望大家有所收获,若想了解更多关于ImportError:未安装带有matplotlib的名为matplotlib的模块、matplotlib 中 color 可用的颜色、Matplotlib 绘图的颜色在意外时自动更改、Matplotlib-基于光谱颜色的曲线下颜色等相关知识,可以在本站进行查询。
本文标签: