脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python中matplotlib的颜色以及形状实例详解

python中matplotlib的颜色以及形状实例详解

2022-09-01 09:34Mortal71 Python

在Python中经常使用matplotlib画图,为了让图像显示的更加好看,经常需要对图表点、线形状及颜色进行设置,下面这篇文章主要给大家介绍了关于python中matplotlib的颜色以及形状的相关资料,需要的朋友可以参考下

绘制折线图

命令形如:

# 常用
plt.plot(x, y, linewidth = "1", label = "test", color=" red ", linestyle=":", marker="|")

# 所有可选参数
plt.plot(x,y,color,linestyle=,linewidth,marker,markeredgecolor,markeredgwidth,markerfacecolor,markersize,label)

plt.legend(loc="upper left")
plt.show()

主要参数详解:

线条形式(linestyle):

标记字符 还可使用 说明
‘-’ “solid” 实线
‘–’ “dashed” 破折线
‘-.’ “dashdot” 点划线
‘:’ “dotted” 虚线
’ ’ ‘none’ 无线条

标注形状(marker):

标记字符 还可使用 说明
‘.’ point marker 点标记
‘,’ pixel marker 像素标记(极小点)
‘o’ circle marker 实心圈标记
‘v’ triangle_down marker 倒三角标记
‘^’ triangle_up marker 上三角标记
‘<’ triangle_left marker 左三角标记
‘>’ triangle_right marker 右三角标记
‘1’ tri_down marker 下花三角标记
‘2’ tri_up marker 上花三角标记
‘3’ tri_left marker 左花三角标记
‘4’ tri_right marker 右花三角标记
‘s’ square marker 实心方形标记
‘p’ pentagon marker 实心五角标记
‘*’ star marker 星形标记
‘h’ hexagon1 marker 竖六边形标记
‘H’ hexagon2 marker 横六边形标记
‘+’ plus marker 十字标记
‘x’ x marker x标记
‘D’ diamond marker 菱形标记
‘d’ thin_diamond marker 受菱形标记
‘|’ vline marker 垂直线标记
‘_’ hline marker 水平线标记

颜色(color),可用十六进制形式,每两个十六进制数分别代表R、G、B分量,可用如下代码展示所有:

import matplotlib
for name, hex in matplotlib.colors.cnames.items():
    print(name, hex)

得所有支持颜色:

 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"}

可用如下代码展示具体颜色:

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.colors as colors
import math

fig = plt.figure()
ax = fig.add_subplot(111)

ratio = 1.0 / 3.0
count = math.ceil(math.sqrt(len(colors.cnames)))
x_count = count * ratio
y_count = count / ratio
x = 0
y = 0
w = 1 / x_count
h = 1 / y_count

for c in colors.cnames:
    pos = (x / x_count, y / y_count)
    ax.add_patch(patches.Rectangle(pos, w, h, color=c))
    ax.annotate(c, xy=pos)
    if y >= y_count-1:
        x += 1
        y = 0
    else:
        y += 1

plt.show()

得下图

python中matplotlib的颜色以及形状实例详解

 

绘制柱形图

plot.bar(x,height,width=0.8,bottom=None,align="center",color,edgecolor)
参数 说明
x 表示在什么位置显示柱形图
height 柱子高度
width 每根柱子的宽度,可各不相同
bottom 每根柱子的底部位置,可各不相同
align 柱子的位置与x值的关系,可选center、edge两个参数,center表示柱子位于x值的中心位置,edge表示边缘位置
color 柱子颜色
edgecolor 柱子边缘的颜色

例:

plt.subplot(1,1,1)

x = np.array(["东区","西区","南区","北区"])
y = np.array([8566,6482,5335,7310])

plt.bar(x,y,width=0.5,align="center",label="任务量")

plt.title("全国各分区任务量",loc="center")

# 添加数据标签
for a,b in zip(x,y):
    plt.text(a,b,b,ha="center",va="bottom",fontsize=12,color="r")
    
plt.xlabel("分区")
plt.ylabel("任务量")

plt.legend()     #显示图例

#保存到本地
#plt.savefig("C:/Users/.../1.jpg")

python中matplotlib的颜色以及形状实例详解

 

簇状柱形图

plt.subplot(1,1,1)

x = np.array([1,2,3,4])
y1 = np.array([8566,6482,5335,7310])
y2 = np.array([4283,2667,3655,3241])

plt.bar(x,y1,width=0.3,label="任务量")
plt.bar(x+0.3,y2,width=0.3,label="完成量")   #x+0.3相当于完成量的每个柱子右移0.3

plt.title("全国各分区任务量",loc="center")

# 添加数据标签
for a,b in zip(x,y1):
    plt.text(a,b,b,ha="center",va="bottom",fontsize=12,color="blue")
    
    
for a,b in zip(x,y2):
    plt.text(a,b,b,ha="center",va="bottom",fontsize=12,color="g")
    
plt.xlabel("区域")
plt.ylabel("任务情况")

#设置x轴刻度值
plt.xticks(x+0.15,["东区","西区","南区","北区"])

plt.grid(False)
plt.legend()     #显示图例

python中matplotlib的颜色以及形状实例详解

 

堆积柱形图

plt.subplot(1,1,1)

x = np.array(["东区","西区","南区","北区"])
y1 = np.array([8566,6482,5335,7310])
y2 = np.array([4283,2667,3655,3241])

plt.bar(x,y1,width=0.3,label="任务量")
plt.bar(x,y2,width=0.3,label="完成量")   

plt.title("全国各分区任务量",loc="center")

# 添加数据标签
for a,b in zip(x,y1):
    plt.text(a,b,b,ha="center",va="bottom",fontsize=12,color="blue")
    
    
for a,b in zip(x,y2):
    plt.text(a,b,b,ha="center",va="bottom",fontsize=12,color="g")
    
plt.xlabel("区域")
plt.ylabel("任务情况")


plt.grid(False)

plt.legend(loc = "upper center",ncol=2)     

python中matplotlib的颜色以及形状实例详解

 

散点图

plt.scatter(x,y,s,c,marker,linewidths,edgecolors)
参数 说明
(x,y) 散点的位置
s 每个点的面积,即散点的大小。若只有一个具体值时,则所有点的大小都一样。也可呈现多个值,这样就成了气泡图
c 每个点的颜色,可多样
marker 标记,同折线图中marker
linewidths 散点线宽
edgecolors 散点外轮廓的颜色

 

colors = y*10
area = y*100        #根据y值的大小生成不同形状

plt.scatter(x,y,c=colors,marker="o",s=area)

plt.title("销量关系图",loc="center")

# 添加数据标签
for a,b in zip(x,y):
    plt.text(a,b,b,ha="center",va="center",fontsize=10,color="white")
    
plt.xlabel("气温")
plt.ylabel("啤酒销量")

plt.grid(False)

python中matplotlib的颜色以及形状实例详解

 

附:matplotlib实现区域颜色填充

"""
学习python
"""
import matplotlib.pyplot as plt
import numpy as np
  
x= np.linspace(0,5*np.pi, 1000)
  
y1 = np.sin(x)
y2 = np.sin(2*x)
  
#plt.plot(x,y1)
#plt.plot(x,y2)
  
plt.fill(x,y1,"b",alpha=0.5)
plt.fill(x,y2,"r",alpha=0.3)
  
plt.fill_between(x,y1,y2,facecolor="green")
plt.grid(True)
  
plt.show()
  
#########################################################
plt.plot(x,y1,"b",alpha=0.5)
plt.plot(x,y2,"r",alpha=0.3)
#添加条件
#如果数据点比较少的情况下,会有缝隙出现,使用interpolate可以填充缝隙
plt.fill_between(x,y1,y2,where=y1>=y2,facecolor="green",interpolate=True)
plt.fill_between(x,y1,y2,where=y2>y1,facecolor="yellow",interpolate=True)
plt.grid(True)
  
plt.show()
###########################################################
  
n = 256
X = np.linspace(-np.pi, np.pi, n, endpoint=True)
Y = np.sin(2 * X)
  
  
plt.plot(X, Y + 1, color="blue", alpha=1.00)
plt.fill_between(X, 1, Y + 1, color="blue", alpha=.25)
  
plt.plot(X, Y - 1, color="blue", alpha=1.00)
plt.fill_between(X, -1, Y - 1, (Y - 1) > -1, color="blue", alpha=.25)
plt.fill_between(X, -1, Y - 1, (Y - 1) < -1, color="red", alpha=.25)
  
plt.xlim(-np.pi, np.pi)
plt.xticks(())
plt.ylim(-2.5, 2.5)
plt.yticks(())

 

总结 

到此这篇关于python中matplotlib的颜色以及形状的文章就介绍到这了,更多相关python matplotlib颜色及形状内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_43697287/article/details/88876680

延伸 · 阅读

精彩推荐
  • PythonAnsible 自动化工具安装、配置和快速入门指南

    Ansible 自动化工具安装、配置和快速入门指南

    Ansible 是一个开源、易于使用的功能强大的 IT 自动化工具,通过 SSH 在客户端节点上执行任务。它是用 Python 构建的,这是当今世界上最流行、最强大的编程...

    Linux中国10412021-02-22
  • Pythonpython使用电子邮件模块smtplib的方法

    python使用电子邮件模块smtplib的方法

    这篇文章主要介绍了python使用电子邮件模块smtplib的方法,需要的朋友可以参考下...

    Python教程网5312020-09-05
  • Pythonpython matplotlib库的基本使用

    python matplotlib库的基本使用

    这篇文章主要介绍了python matplotlib库的基本使用,帮助大家绘制图表,进行数据可视化分析,感兴趣的朋友可以了解下...

    TechFlow10532020-09-24
  • PythonPython中切片的详细操作篇

    Python中切片的详细操作篇

    在Python中切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法,下面这篇文章主要给大家介绍了关于Python中切片操作的相关资料,文中通过实例代...

    Zombie_QP5092022-08-30
  • PythonPython实现购物程序思路及代码

    Python实现购物程序思路及代码

    本文给大家分享的是使用Python实现的购物小程序的思路要求以及相关代码,非常的简单实用,有需要的小伙伴可以参考下...

    Dreamer_qiao8042020-11-28
  • Python在pycharm 中添加运行参数的操作方法

    在pycharm 中添加运行参数的操作方法

    今天小编就为大家分享一篇在pycharm 中添加运行参数的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    lionhenryzxxy11392021-05-18
  • Pythonpytorch实现多项式回归

    pytorch实现多项式回归

    这篇文章主要为大家详细介绍了pytorch实现多项式回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    逝去〃年华10202021-10-08
  • Python解决Spyder中图片显示太小的问题

    解决Spyder中图片显示太小的问题

    下面小编就为大家分享一篇解决Spyder中图片显示太小的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Jasmine_Tang8772021-02-07