可视化 图形 matplotlib

简介: 可视化 图形 matplotlib

怎么说呢?这个库,画一些基本的形状挺好用的,还有pyecharts,但是我不想在可视化上浪费太多时间,就这样吧。

---------------------------------------------------------------------------------------------------------

之前学的:

# -*- coding: utf-8 -*-
"""
Created on Thu May 28 17:28:17 2020

@author: Administrator
"""
#
from matplotlib import pyplot as plt
fig=plt.figure(figsize=(15,5),dpi=80)
x=range(2,26,2)
y=[15,13,14,5,17,20,25,26,24,22,18,15]
plt.plot(x,y)
plt.yticks(y)#设置y坐标
plt.xticks(range(5,50,2))#设置x范围
plt.savefig("f://a.svg")#保存文件
plt.show()#展示


#折线图
from matplotlib import pyplot as plt
import matplotlib
import random
from matplotlib import font_manager
# font={
#     'family':'MicroSoft YaHei',
#     'weight':'bold',
#     'size':'20'
# }
# matplotlib.rc("font",**font)
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\STKAITI.TTF")
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
fig=plt.figure(figsize=(20,5),dpi=80)
x_ticks=["10点{}分".format(i) for i in range(60)]
x_ticks+=["11点{}分".format(i) for i in range(60)]

plt.title("10-11点温度",fontproperties=my_font)
plt.ylabel("温度",fontproperties=my_font)
plt.xlabel("时间",fontproperties=my_font)

plt.xticks(list(x)[::5],x_ticks[::5],rotation=45,fontproperties=my_font)
plt.grid(alpha=0.4)#linestyle
plt.plot(x,y,label="a",color="r",linestyle="--",linewidth=1)
plt.plot(range(100,220),y,label="b")
#图例
plt.legend(prop=my_font,loc=5)
plt.savefig("f://wendu.png")#保存文件
plt.show()



#散点图
from matplotlib import pyplot as pt
from matplotlib import font_manager
import random
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\STKAITI.TTF")

y_3=[random.randint(10,22) for i in range(31)]
y_10=[random.randint(10,30)for i in range(31)]
x_3=range(1,32)
x_10=range(32,63)

#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
#设置标识
plt.title("3月和10月温度",fontproperties=my_font)
plt.ylabel("温度",fontproperties=my_font)
plt.xlabel("日期",fontproperties=my_font)
#设置x,y刻度
x_xticks=list(x_3)+list(x_10)
x_label=["3月{}号".format(i) for i in range(1,32)]
x_label+=["10月{}号".format(i) for i in range(1,32)]

plt.xticks(x_xticks,x_label,rotation=90,fontproperties=my_font)
plt.scatter(x_3,y_3,label="a")
plt.scatter(x_10,y_10,label="b",color="r")
#图例
plt.legend(prop=my_font,loc=5)
plt.show()



#条形图
from matplotlib import pyplot as pt
from matplotlib import font_manager
import random
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\STKAITI.TTF")
x=range(12)
y_1=[random.randint(30,70) for i in range(12)]
y_2=[random.randint(30,70) for i in range(12)]

x_xticks=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
#设置大小
plt.figure(figsize=(10,8),dpi=80,facecolor='snow')
#设置标识
plt.title("生肖的智商",fontproperties=my_font)
plt.ylabel("智商",fontproperties=my_font)
plt.xlabel("生肖",fontproperties=my_font)
#设置xy
plt.xticks(range(0,24,2),x_xticks,rotation=0,fontproperties=my_font)
plt.xticks(range(1,25,2),x_xticks,rotation=0,fontproperties=my_font)

#横着画
#plt.barh(x,y_1,label="智商",height=1)
plt.bar(range(0,24,2),y_1,label="智商",width=0.1)
plt.bar(range(1,25,2),y_2,label="情商",width=0.1)
#网格
plt.grid(alpha=0.4)#linestyle

plt.legend(prop=my_font,loc=5)
plt.show()


#直方图
from matplotlib import pyplot as pt
from matplotlib import font_manager
import random
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\STKAITI.TTF")
a=[random.randint(60,100) for i in range(300)]
#组距=5
w=5
#组数
n=(max(a)-min(a))//w
#画刻度
x_3=range(min(a),max(a)+w,w)
x_xticks=["第{}组".format(i) for i in range(8)]
plt.xticks(x_3,x_xticks,fontproperties=my_font)
#分为两组画出来
plt.hist(a,n,width=0.1)
plt.show()



#画字
from matplotlib import pyplot as plt
from matplotlib import font_manager
import random
s='put some text\nwusen'
plt.axis('off')
plt.text(0, 0.8, s)
#‘bmh’, ‘classic’, ‘dark_background’, ‘fast’, ‘fivethirtyeight’, ‘ggplot’, ‘grayscale’, ‘seaborn-bright’, ‘seaborn-muted’, ‘seaborn-notebook’, ‘seaborn-paper’, ‘seaborn-pastel’, ‘seaborn-poster’, ‘seaborn-talk’, ‘seaborn-ticks’, ‘seaborn-white’, ‘seaborn-whitegrid’, ‘seaborn’, ‘Solarize_Light2’, ‘tableau-colorblind10’, ‘_classic_test’

plt.style.use('classic')
axs3=plt.subplot()

View Code

新版总结:

1.画折线图:plot

import numpy as np
import matplotlib
from matplotlib import pyplot as plt
from matplotlib import font_manager
# 设置字体方式一
# font={
#     'family':'MicroSoft YaHei',
#     'weight':'bold',
#     'size':'30'
# }
# matplotlib.rc("font",**font)
# 设置字体方式二:里面有参数,自己去看
my_font=font_manager.FontProperties(fname="fonts/华文彩云.ttf")
# 初始化画布figsize=(15,5)是长宽比,dpi代表倍数,像素就是figsize*dpi
fig=plt.figure(figsize=(15,5),dpi=80)
# 产生步长为2的一个列表
x = np.arange(0,20,2)
# randint里面可以size参数可以是数值也可以是元组
y1 = np.random.randint(0,100,size=(10))
y2 = np.random.randint(0,100,size=(10))
# 这一句是把图形画上去
# linestyle:'-', '--', '-.', ':', 'None', ' ', '', 'solid', 'dashed', 'dashdot', 'dotted'
plt.plot(x,y1,label="a",color="r",linestyle="--",linewidth=1)
plt.plot(x,y2,label="b")
# plt.yticks(y)#设置y坐标
#设置x范围,设置角度
plt.xticks(x,rotation=90)
# 背景格子线
plt.grid(alpha=0.1)#linestyle
# 画标题
plt.title("TITLE",fontproperties=my_font)
# 画栅格
plt.legend(prop=my_font,loc=2)
#保存文件,格式可以是svg  png jpg ...
# plt.savefig("f://b.svg")
plt.show()#展示

View Code

2.散点图

# plt.scatter(x,y1,label="a",color="r",linestyle="--",linewidth=1)

View Code

3.条形图

# plt.bar(x,y3,label="c")

View Code

4.直方图,我不知道跟条形图啥区别

from matplotlib import pyplot as pt
from matplotlib import font_manager
import random
my_font=font_manager.FontProperties(fname="fonts/华文彩云.ttf")
a=[random.randint(60,100) for i in range(300)]
print(len(a),a)
#组距=5
w=5
#组数
n=(max(a)-min(a))//w
print(n)
#画刻度
x_3=range(min(a),max(a)+w,w)
x_xticks=["第{}组".format(i) for i in range(8)]
# x_xticks = ["A","B","C","D","E","F","G","H","I"]
plt.xticks(x_3,x_xticks,fontproperties=my_font)
#分为两组画出来
plt.hist(a,n,width=3)
plt.show()

View Code

5也可以往图上写字,

from matplotlib import pyplot as plt
# from matplotlib import font_manager
# import random
# s='put some text\nwusen'
# plt.axis('off')
# plt.text(0, 0.8, s)
# #‘bmh’, ‘classic’, ‘dark_background’, ‘fast’, ‘fivethirtyeight’, ‘ggplot’, ‘grayscale’, ‘seaborn-bright’, ‘seaborn-muted’, ‘seaborn-notebook’, ‘seaborn-paper’, ‘seaborn-pastel’, ‘seaborn-poster’, ‘seaborn-talk’, ‘seaborn-ticks’, ‘seaborn-white’, ‘seaborn-whitegrid’, ‘seaborn’, ‘Solarize_Light2’, ‘tableau-colorblind10’, ‘_classic_test’
# plt.style.use('classic')
# axs3=plt.subplot()
# plt.show()

相关文章
|
6月前
|
数据可视化 Python
matplotlib可视化必知必会富文本绘制方法
matplotlib可视化必知必会富文本绘制方法
33 0
|
7月前
|
数据可视化 数据挖掘 Python
|
7月前
|
数据可视化 数据挖掘 Python
数据界的颜值担当!Python数据分析遇上Matplotlib、Seaborn,可视化美出新高度!
【7月更文挑战第24天】在数据科学领域,Python的Matplotlib与Seaborn将数据可视化升华为艺术,提升报告魅力。Matplotlib作为基石,灵活性强,新手友好;代码示例展示正弦波图的绘制与美化技巧。Seaborn针对统计图表,提供直观且美观的图形,如小提琴图,增强数据表达力。两者结合,创造视觉盛宴,如分析电商平台销售数据时,Matplotlib描绘趋势,Seaborn揭示类别差异,共塑洞察力强的作品,使数据可视化成为触动人心的艺术。
82 7
|
7月前
|
机器学习/深度学习 数据可视化 搜索推荐
Pandas 和 Matplotlib 可视化
【7月更文挑战第14天】Pandas 和 Matplotlib 是Python数据分析的核心库,用于数据探索性可视化。首先,通过`pip install pandas matplotlib`安装库。接着,使用`pd.read_csv()`加载CSV数据,`df.describe()`查看统计信息。利用Matplotlib的`hist()`, `scatter()`, 和 `boxplot()`绘制直方图、散点图和箱线图,展示数据分布和关系。通过`subplots()`创建多图展示,自定义样式如颜色、标记,并添加注释和标题。高级技巧包括热力图、时间序列图、分组可视化及Seaborn和Plotly
73 10
|
7月前
|
数据可视化 计算机视觉 异构计算
确保您已经安装了必要的库,包括`torch`、`torchvision`、`segmentation_models_pytorch`、`PIL`(用于图像处理)和`matplotlib`(用于结果可视化)。您可以使用pip来安装这些库:
确保您已经安装了必要的库,包括`torch`、`torchvision`、`segmentation_models_pytorch`、`PIL`(用于图像处理)和`matplotlib`(用于结果可视化)。您可以使用pip来安装这些库:
|
7月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
114 1
|
9月前
|
存储 数据可视化 算法
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
|
9月前
|
数据可视化 数据挖掘 Python
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
【5月更文挑战第20天】本文介绍了使用Python的pandas、matplotlib和seaborn库进行数据可视化的步骤,包括创建示例数据集、绘制折线图、柱状图、散点图、热力图、箱线图、小提琴图和饼图。这些图表有助于直观理解数据分布、关系和趋势,适用于数据分析中的探索性研究。
147 1
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
|
9月前
|
数据可视化 数据挖掘 Python
Matplotlib与Seaborn在Python面试中的可视化题目
【4月更文挑战第16天】本文介绍了Python数据可视化在面试中的重点,聚焦于Matplotlib和Seaborn库。通过基础绘图、进阶图表、图形定制和交互式图表的实例展示了常见面试问题,并列出了一些易错点,如忽视图形清晰度、误用色彩等。建议理解两者功能并注意保持图形简洁,以提升面试表现和数据可视化能力。
118 3
|
9月前
|
存储 数据可视化 数据挖掘
利用Matplotlib实现地图可视化
【4月更文挑战第17天】使用Matplotlib结合GeoPandas和Basemap在Python中实现地图可视化。首先安装Matplotlib、GeoPandas和Basemap库。读取GeoJSON或Shapefile格式的地理数据,然后使用Basemap创建地图底图,绘制海岸线、国家边界和大陆湖泊。将GeoDataFrame数据转换后叠加到地图上,自定义地图样式和添加图例。利用颜色映射展示与地理位置相关的数值数据,创建颜色条。此外,可通过Folium实现交互式地图。通过学习和实践,提升地图可视化的技能。