IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python 数据可视化中图表样式的美化 -> 正文阅读

[Python知识库]Python 数据可视化中图表样式的美化

1.图表样式的概述:
1.1 默认图表样式
matplotlib在绘图的过程中会读取存储在本地的配置文件matplotlibre,通过matplotlibrc文件中的缺省配置信息指定图表元素的默认样式,完成图表元素样式的初始设置,不需要开发人员逐一设置便可使用。
matplotlibrc文件包含众多图表元素的配置项,可以通过rc_params()函数查看全部的配置项。
所有的配置项按作用对象的不同主要分为10种配置要素,包括lines(线条)、patch(图形)、font(字体)、text(文本)、axes(坐标系)、xtick和ytick(刻度)、grid(网格)、legend(图例)、figure(画布)及savefig(保存图像)。
1.2 图表样式修改
matplotlib通过灵活地修改配置项来改变图表的样式,而不必拘泥于系统默认的配置。图表的样式可以通过两种方式进行修改:局部修改和全局修改。下面分别进行介绍。
(1)局部修改:
局部修改的方式是指通过代码动态地修改matplotlib配置项,此方式用于满足程序局部记置 定制的需求。
(2)全局修改:
修改的方式是指直接修改 matplotlilorc文件的配置项,此方式用于满足程序全局定制需求,可以对指定的图表样式进行统一修改,不需要每次在具体的程序中进行单独修改,不仅提高了代码的编写效率,而且减轻了重复操作的负担。
2.使用颜色映射表:
matplotlib主要有两种使用颜色映射表的方式:第一种方式是在调用函数或方法绘制图表或添加辅助元素时将颜色映射表传递给关键字参数cmap;第二种方式是直接调用set_cmap示么 函数进行设置。
实例:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.style as ms 
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
x=np.arange(5)
y1=[1200,2400,1800,2200,1600]
y2=[1050,2100,1300,1600,1340]
bar_width=0.6
tick_label=["家庭","小说","心理","科技","儿童"]
fig=plt.figure()
ax=fig.add_subplot(111)
ax.bar(x,y1,bar_width,color="#FFCC00",align="center",label="地区1")
ax.bar(x,y2,bar_width,bottom=y1,color="#B0C4DE",align="center",label="地区2")
ax.set_ylabel("采购数量(本)")
ax.set_xlabel("图书种类")
ax.set_title("41 地区1和地区2对各类图书的采购情况")
ax.grid(True,axis='y',color="gray",alpha=0.2)
ax.set_xticks(x)
ax.set_xticklabels(tick_label)
ax.legend()

在这里插入图片描述
3.选择线型:
在matplotlib中,默认的线条类型是实线。当pyplot绘制折线图、显示网格或添加参考线时,可以将线型的取值传递给linestyle或ls参数,以选择其他的线条类型。
实例:

plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
eurcny_2017=np.array([6.8007,6.8007,6.8015,6.8015,6.8060,
                      6.8060,6.8060,6.8036,6.8025,6.7877,
                      6.7835,6.7758,6.7700,6.7463,6.7519,
                      6.7511,6.7511,6.7539,6.7265])
eurcny_2019=np.array([6.5307,6.6005,6.7790,6.8899,6.6900,
                      6.6128,6.6123,6.6345,6.6765,6.6890,
                      6.7542,6.7123,6.8564,6.8536,6.8678,
                      6.5607,6.8635,6.6324,6.668])
date_x=np.array([3,4,5,6,7,8,9,10,11,12,13,14,17,18,19,24,25,26,31])
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot(date_x,eurcny_2017,color='#006374',linewidth=1,label='2017年7月美元/人民币汇率')
ax.plot(date_x,eurcny_2019,color='#8a2e76',linestyle='--',linewidth=1,label='2019年7月美元/人民币汇率')
ax.set_title('41 2017年7月与2019年7月美元/人民币汇率走势')
ax.set_xlabel('日期')
ax.set_ylabel('汇率')
ax.legend()
plt.show

在这里插入图片描述
4.添加数据标记:
在matplotlib中,折线图的线条由数据标记及其之间的连线组成,且默认隐藏数据标记。数据标记一般指代表单个数据的圆点或其他符号等,用于强调数据点的位置,常见于折线图和散点图中。
实例:

plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
sale_a=[2144,4617,7674,6666]
sale_b=[853,1214,2414,4352]
sale_c=[123,234,345,456]
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot(sale_a,'D-',sale_b,'^:',sale_c,'s--')
ax.grid(alpha=0.3)
ax.set_ylabel('销售额(万元)')
ax.set_xticks(np.arange(len(sale_c)))
ax.set_xticklabels(['第1季度','第2季度','第3季度','第4季度'])
ax.legend(['产品A','产品B','产品C'])
plt.title('41')
plt.show()

在这里插入图片描述
5.设置字体:
设置字体样式
在matplotlib中,文本都是text模块的Text类对象,可以通过之前介绍的text0、annotate()、title()等函数进行创建。Text类中提供了一系列设置字体样式的属性,包括字体类别、字体大小、字体风格、字体角度等。
例如:

#import numpy as np
#import matplotlib.pyplot as plt
plt.plot([1,2,3],[3,4,5])
plt.text(1.9,3.75,'y=x+2',bbox=dict(facecolor='r'),family='serif',fontsize=18,fontstyle='normal',rotation=-60)
plt.title('41')

在这里插入图片描述
实例:

plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
x=np.arange(4,19)
y_max=[23,24,25,26,27,28,29,30,31,32,33,34,35,34,32]
y_min=[16,17,18,17,18,19,20,21,22,19,17,18,20,21,19]
plt.plot(x,y_max,marker='o',label='最高温度')
plt.plot(x,y_min,marker='o',label='最低温度')
x_temp=4
for y_h,y_l in zip(y_max,y_min):
    plt.text(x_temp-0.3,y_h+0.7,y_h,family='SimHei',fontsize=8,fontstyle='normal')
    plt.text(x_temp-0.3,y_h+0.7,y_l,family='SimHei',fontsize=8,fontstyle='normal')
    x_temp+=1
plt.title('41  未来15天最高气温和最低气温的走势')
plt.xlabel('日期')
plt.ylabel('温度($^\circ$C)')
plt.ylim(0,40)
plt.legend()
plt.show()

在这里插入图片描述
6.切换主题风格:

import numpy as np
import matplotlib.pyplot as plt
plt.plot([1,2,3],[3,4,5])
plt.plot([1,2,3],[3,4,5],marker='*',markersize=20,markerfacecolor='y')
plt.title('41')

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.style as ms
plt.plot([1,2,3],[3,4,5])
plt.plot([1,2,3],[3,4,5],marker='*',markersize=20,markerfacecolor='r')
plt.title('41')
ms.use('seaborn-dark')

在这里插入图片描述
7.填充区域:

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,8*np.pi,1000)
sin_y=np.sin(x)
cos_y=np.cos(1.5*x/np.pi)
plt.plot(x,sin_y)
plt.plot(x,cos_y)
plt.fill_between(x,cos_y,sin_y,cos_y < sin_y, color='dodgerblue',alpha=0.5)
plt.fill_between(x,cos_y,sin_y,cos_y > sin_y, color='orangered',alpha=0.5)
plt.title('41')

在这里插入图片描述
实例:

def koch_snowflake(order,scale=10):
    def _koch_snowflake_complex(order):
        if order==0:
            angles=np.array([0,120,240])+90
            return scale / np.sqrt(3) * np.exp(np.deg2rad(angles) * 1j) 
        else:
            ZR=0.5-0.5j * np.sqrt(3) / 3
            p1=_koch_snowflake_complex(order - 1)
            p2=np.roll(p1,shift=-1)
            dp=p2-p1
            new_points=np.empty(len(p1) * 4,dtype=np.complex128)
            new_points[::4]=p1
            new_points[1::4]=p1+dp/3
            new_points[2::4]=p1+dp*ZR
            new_points[3::4]=p1+dp/3*2
            return new_points
    points=_koch_snowflake_complex(order)
    x,y=points.real,points.imag
    return x,y
x,y=koch_snowflake(order=2)
fig=plt.figure()
ax=fig.add_subplot(111)
ax.fill(x,y,facecolor='lightsalmon',edgecolor='orangered',linewidth=3)
plt.title('41')
plt.show()

在这里插入图片描述
小结:
本文主要介绍了图表样式的美化,包括图表样式概述、使用颜色、选择线型、添加数据标记、设置字体、切换主题风格和填充区域。通过学习本章的内容,希望读者可以明确图表美化的意义,并能够采用适当的方式进行图表美化。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:45:38  更:2022-03-21 20:48:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:38:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码