【python画图】使用python画折线图、柱状图

article/2025/11/7 13:11:43

目录

一、读取数据

(1)文件中读取数据

(2)代码中直接读取

二、画图

折线图

要想指定横纵轴的刻度范围或指定相应取值:(或者X轴不规则增长)

柱状图

其实现在有很多在线网站就可以直接导入数据画图,不需要使用python也可以直接画图。


使用python代码画图主要有两个步骤:

  • 读取数据
  • 画图(调整图的布局)

一、读取数据

数据读取有两种方式: 一是从文件中读取(.csv;.xls;.xlsx等);二是直接在代码中赋值

(1)文件中读取数据

  • 首先,安装三个模块
pip install xlrd xlwt xltuils
  • 读取数据
import xlwt
import xlrd
from xlutils.copy import copy
from xlrd import open_workbookdata = xlrd.open_workbook('data.xlsx')  # 1.读取工作表  修改为自己的数据表的名字
table = data.sheet_by_name('one')    # 2.读取当前sheet表对象 one为表中sheet的名字 改为自己的
rows = table.nrows                   # 获取行数
x_data = []
y_data1 = []
y_data2 = []
y_data3 = []
print('一共有{}行数据'.format(rows))
for i in range(1,rows):x = table.row_values(i)[3]         # 3.读取表中想要的数据列 从0开始排序  3是第四列y1 = table.row_values(i)[4]y2 = table.row_values(i)[5]y3 = table.row_values(i)[6]y_data3.append(y3)                # 4.把读取的数据加入到y_data3列表中y_data2.append(y2)y_data1.append(y1)x_data.append(x)

(2)代码中直接读取

直接将对应的X,Y值存在数组中即可

x_data = [1,2,3,4,5,6]  
y_data = [0.1,0.2,0.3,0.4,0.5,0.6]


二、画图

  • 折线图


import matplotlib as mpl
#mpl.use("TkAgg") # Use TKAgg to show figures
import matplotlib.pyplot as pltfig2 = plt.figure(figsize=(7,5))
plt.plot(x_data,y_data,c='g')            # 1.过点画线#plt.plot(x_data1,y_data1)          
# 一个图中要画出多条线的时候,只需要再使用plt.plot画出另一条线即可plt.scatter(x_data , y_data)       # 2.画点plt.title('X-Y Test')            # 3. 图标题
plt.xlabel("X")                  # 4. X轴名字
plt.ylabel("Y")                  # 5. Y轴名字plt.savefig("test.png")

若想在一个图中同时画出多条折线,只需要再次使用 plt.plot(x,y) 即可

这种方式画出的图如下:

但是,这个图有一个问题,图中的直线穿过散点,看起来并不美观,所以想有没有什么方法可以让

“点覆盖线”呢?

#修改这两句代码,类似于加上点和线的优先级plt.plot(x_data,y_data,zorder=1,c='g')            # 1.过点画线plt.scatter(x_data , y_data,zorder=2)           # 2.画点

效果如下:

 

要想指定横纵轴的刻度范围或指定相应取值:(或者X轴不规则增长)

#第一种
my_x_ticks = np.arange(6, 38, 2) # 从6到38 间隔2增长(不包括38)
plt.xticks(my_x_ticks)     #设定x轴
plt.yticks(my_x_ticks)     #设定y轴#第二种
plt.xticks([1,3,4,6,9])     #设定x轴#第三种
plt.xlim(91,96)   #设定x轴取值范围 min和max
plt.ylim(91,96)   #设定y轴取值范围 min和max#第四种
plt.xscale('symlog')   #x轴坐标是以 10^n 为刻度  10,100 ,1000 
plt.yscale('symlog')   #y轴坐标是以 10^n 为刻度  10,100 ,1000 

:一个小插曲,我想要在图中单独标出一个点为不同的颜色(红色),但是最开始想的是用ps修图,但是后来同学说可以在同一个位置输出另一个颜色的点覆盖一下,才恍然大悟!

plt.scatter( [3] ,[0.3], zorder=2 , c='r')      

效果如下:

 

  • 柱状图

     以ABC三地 分别有 类别 1 2 3三种商品的数量:

import numpy as np
import matplotlib as mpl
#mpl.use("TkAgg") # Use TKAgg to show figures
import matplotlib.pyplot as plt#A B C 可理解三个地方 每个地点有 类别1 2 3的数据X_label = ["A", "B", "C"]     # 1.X轴上的各种选择
Value_1 = [1, 4, 7]           # 2.类别1 对应的A B C的值
Value_2 = [2, 5, 8]           # 3.类别2 对应的A B C的值
Value_3 = [3, 6, 9]           # 4.类别3 对应的A B C的值# 创建分组柱状图,需要自己控制x轴坐标
xticks = np.arange(len(X_label))fig, ax = plt.subplots(figsize=(10, 7))
#A B C 中x的数量
ax.bar(xticks, Value_1, width=0.15, label="1")   # 5.width是柱子的宽度ax.bar(xticks + 0.22, Value_2, width=0.15, label="2")   # 6.0.22 是调整两个柱之间的距离ax.bar(xticks + 0.44, Value_3, width=0.15, label="3")plt.legend(['1','2','3'])           # 7.图例
# 最后调整x轴标签的位置
ax.set_xticks(xticks + 0.25)
ax.set_xticklabels(X_label)plt.title('X-Y Test')            # 8. 图标题
plt.xlabel("X")                  # 9. X轴名字
plt.ylabel("Y")                  # 10. Y轴名字plt.savefig("test.png")

效果如下:

另:

想要调整线、点、柱的颜色,只需要在相应的函数内加参数 color=‘ xxx’

xxx:为颜色代码

颜色参考链接:颜色参考icon-default.png?t=M3K6https://blog.csdn.net/SmallD1018/article/details/121183674?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscanv2&utm_relevant_index=1

其实现在有很多在线网站就可以直接导入数据画图,不需要使用python也可以直接画图。


http://chatgpt.dhexx.cn/article/5NDAljiO.shtml

相关文章

Python绘制折线图or平滑曲线图(2D)

一、折线图 Python使用matplotlib进行2D绘图的主要思想就是传入x坐标数组和y坐标数组,然后调用plot函数。其中x数组的长度和y坐标数组的长度要必须一致。只要二者的数据有了,那么画一个折线图就是非常简单的事情。例如 代码 import numpy as np import …

Python数据可视化的例子——折线图(line)

对于时间序列数据而言,一般都会使用折线图反映数据背后的趋势。通常折线图的横坐标指代日期数据,纵坐标代表某个数值型变量,当然还可以使用第三个离散变量对折线图进行分组处理。接下来仅使用Python中的matplotlib模块和pandas模块实现折线图…

使用python绘制简单折线图

首先,打开电脑命令行输入: pip install matplotlib 对python中matplotlib进行下载。 构建python文件,使用import函数引入两个类,使我们可以绘制图像并对图像样式进行改变使其更加明显美观。 值得一提的是,matplotl…

Python Matplotlib 折线图 线条颜色和样式

Python Matplotlib 折线图 线条颜色和样式 折线颜色折线形状数据点(节点)形状坐标示例 折线颜色 折线形状 ‘-’ :实线 ‘-.’ :实虚线 ‘–’:虚线 ‘:’ :点虚线 数据点(节点)形…

【Python】matplotlib之折线图的各种样式和画法

上述图的完整代码如下: from numpy import * import numpy as np import pandas as pd import matplotlib.pyplot as plt import pylab as pl from mpl_toolkits.axes_grid1.inset_locator import inset_axesy1 [0.92787363, 0.92436059, 0.92380563, 0.92169979,…

Python:如何使用matplotlib绘制折线图

前言: 我的python学习也告一段落了。不过有些,方法还是打算总结一下和大家分享。我整理了使用matplotlib绘制折线图的一般步骤,按照这个步骤走绘制折线图一般都没啥问题。其实用matplotlib库绘制折线图的过程,其实就是类似于数学上…

python画多条折线图(简介)

目录 一、打开python 二、代码 三、运行结果 一、打开python 新建一个pathon项目。 二、代码 # -*- coding: utf-8 -*- import matplotlib.pyplot as pltnames [1, 2, 3, 4, 5, 6] x range(len(names)) plt.rcParams[font.sans-serif] [SimHei] # 显示汉字y_1 [2, 3…

Python可视化——绘制折线图

绘制折线图 plot() (1)准备工作 绘制可视化图形,将会使用到Matplotlib库中的pyplot包。 Matplotlib是Python的绘图库,其中的pyplot包封装了很多画图的函数。 Matplotlib.pyplot 包含一系列类似 MATLAB 中绘图函数的相关函数。 因…

【Python】Matplotlib绘制折线图

文章目录 1.Matplotlib画图简单实现2.折线图2.1绘制折线图2.2设置线的格式2.3设置折点2.4.图片的保存和导出2.5设置刻度2.6显示中文2.7实例:每分钟心脏跳动图 3.拓展3..1一图多线3.2一图多个坐标子图3.3坐标轴设置 1.Matplotlib画图简单实现 Matplotlib在一个绘制2D…

【python】画折线图

文章目录 一个简单的折线图同一张图上显示多条数据给这个折线图中的点加数据标签 一个简单的折线图 画折线图至少需要2个列表:横坐标列表和纵坐标列表,两个坐标的位置一一对应。 from pylab import * mpl.rcParams[font.sans-serif] [SimHei] # 添加…

Python绘制折线图

一、安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple二、matplotlib图像简介 matplotlib的图像分为三层,容器层、辅助显示层和图像层。 容器层主要由Canvas、Figure、Axes组成。 Canvas位于图像的最底层,充当画…

使用python代码画折线图【matplotlib】

1、画折线图【一条示例】 import matplotlib.pyplot as plt import numpy as npx_axis_data [1,2,3,4,5,6,7] #x y_axis_data [68,69,79,71,80,70,66] #yplt.plot(x_axis_data, y_axis_data, b*--, alpha0.5, linewidth1, labelacc)#bo-表示蓝色实线,数据点实心原…

使用python绘制折线图

前言 最近在完成一篇气象预报的论文,涉及到深度学习与气象绘图。我觉得还是有必要写一下我在这个过程中的一些经验总结,借此机会与各位同道交流。 一、基础命令 在我们使用深度学习时,肯定会用到绘图命令,绘制loss与val_loss等…

Python数据分析--Matplotlib绘图--折线图

Matplotlib中的折线图 折线图简介 折线图,是一种将点按照顺序连接起来的图形,可以看做是将散点图,按照x轴坐标顺序连接起来的图像. 折线图的主要功能是查看因变量y随着自变量x改变的趋势,最适合用于显示随时间而变化的连续数据. 可以看出数量的差异,增长趋势的变化.折线图的代…

Python matplotlib绘制折线图

Python matplotlib绘制折线图 matplotlib是Python中的一个第三方库。主要用于开发2D图表,以渐进式、交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力。 一、安装matplotlib pip install matplotlib -i https://pypi.tu…

用python画折线图

import matplotlib.pyplot as plt #设置默认字体,选择支持中文的字体以避免出现中文乱码情况 plt.rcParams[font.sans-serif] [Arial Unicode MS] from matplotlib.ticker import MultipleLocator, FormatStrFormatter lst_temp3[10, 16, 17, 14, 12, 10, 12, 6, 6…

一文看懂用python绘制折线图(吐血整理版)极详细!

折线图的绘制主要分为四步: 1)导入相关的库 2)做图片输出的通用设置 3)设置数据及折现的属性 4)设置图的标题 案例: import matplotlib import numpy as np from matplotlib import pyplot as plt %…

代码解读——Retinex低光照图像增强(Deep Retinex Decomposition for Low-Light Enhancement)

今天带来一篇代码解读的文章,是2018年BMVC上的一篇暗光增强文章。个人觉得网络比较轻量并且能够取得还不错的效果。废话不多说,直接贴传送门: 文章地址:http://arxiv.org/abs/1808.04560 源码地址:https://github.co…

Retinex低光照图像增强

Retinex低光照图像增强 常见的图像增强算法基于直方图的增强算法基于Retinex理论的图像增强算法基于同态滤波的图像增强算法基于双边滤波改进的Retinex算法分析 常见的图像增强算法 在夜间等弱光环境下拍摄的图像,由于其亮度、对比度较低且含有噪声、色彩不饱和、细…

对Retinex算法的一些理解

最近在跟老师做视网膜病灶检测的一个项目,其中一个环节是将两张不同时刻的视网膜图像(灰度图像)亮度对齐以方便后续的处理,即保持相同的组织变化后的灰度值基本相同而病变区域仍有较大的差异。在这个对齐图像亮度的环节中我主要应用了Retinex算法,也测试了一些图像,现在把…