【Python_绘图】折线图与散点图

article/2025/11/5 6:10:25

接续博文 “【Python_绘图】折线图” CSDN

 

功能

  • 数据:读取表格(可指定Sheet表……也可指定Sheet表中的特定列)
  • 绘图样式:多条折线图+散点图 → 标记点折线图
  • 设置参数:设置轴标题、添加分界线等

代码

import matplotlib.pyplot as plt
import xlrd
import numpy as np
import seaborn as sns# 设置字体格式,以显示中文
plt.rcParams['font.sans-serif'] = ['Times New Roman']x_data = []
y1_data = []
y2_data = []
y3_data = []
y4_data = []
y5_data = []
y6_data = []# 读取表格数据
data = xlrd.open_workbook(r'D:\mekong_NLP\作图\20210512 作图数据汇总\图三 情感折线与词云\20210606 情感分值作图表.xlsx')
table = data.sheets()[0]  # 表格中的Sheet1
x_data = list(range(1971,2021,1))
x_ticks=np.arange(1971,2021,5)#读取第x行
cap1 = table.row_values(0)
cap2 = table.row_values(1)
cap3 = table.row_values(2)
cap4 = table.row_values(3)
cap5 = table.row_values(4)
cap6 = table.row_values(5)for i in range(0, len(x_data)):y1_data.append(cap1[i])
for i in range(0, len(x_data)):y2_data.append(cap2[i])
for i in range(0, len(x_data)):y3_data.append(cap3[i])
for i in range(0, len(x_data)):y4_data.append(cap4[i])
for i in range(0, len(x_data)):y5_data.append(cap5[i])
for i in range(0, len(x_data)):y6_data.append(cap6[i])#逐条 作折线图
plt.plot(x_data, y1_data, c='crimson',linestyle=':',linewidth=2,label='China')
plt.plot(x_data, y2_data, c='coral',linestyle=':',linewidth=2,label='Myanmar')
plt.plot(x_data, y3_data, c='hotpink',linestyle=':',linewidth=2,label='Laos')
plt.plot(x_data, y4_data, c='blue',linestyle=':',linewidth=2,label='Thailand')
plt.plot(x_data, y5_data, c='lightsteelblue',linestyle=':',linewidth=2,label='Cambodia')
plt.plot(x_data, y6_data, c='cornflowerblue',linestyle=':',linewidth=2,label='Vietnam')
#逐条线 作散点图
plt.scatter(x_data, y1_data, c='crimson',s=15)
plt.scatter(x_data, y2_data, c='coral',s=15)
plt.scatter(x_data, y3_data, c='hotpink',s=15)
plt.scatter(x_data, y4_data, c='blue',s=15)
plt.scatter(x_data, y5_data, c='lightsteelblue',s=15)
plt.scatter(x_data, y6_data, c='cornflowerblue',s=15)#修改图 相关参数
#plt.title('F1值随迭代次数的变化')
plt.xticks(x_ticks)
plt.tick_params(labelsize=16)#横纵标签大小
plt.xlabel('Year',size=16)
plt.ylabel('Sentiment score',size=16)
plt.ylim(ymin=-0.80, ymax=0.80)
plt.vlines(1991, -0.8, 0.8, colors="black", linestyles="dashed",linewidth=1)#分界线
plt.vlines(1994, -0.8, 0.8, colors="black", linestyles="dashed",linewidth=1)
plt.vlines(2008, -0.8, 0.8, colors="black", linestyles="dashed",linewidth=1)
plt.vlines(2015, -0.8, 0.8, colors="black", linestyles="dashed",linewidth=1)leg=plt.legend(columnspacing=1,fontsize=16)#图例
leg.get_frame().set_linewidth(0.0)#不显示右边与上边线
sns.despine()#不显示右边与上边线
plt.show()#绘图

效果示例

附:使线贴合纵轴

  • 参考:python作图图形不贴着坐标轴?python作图图形不贴着坐标轴? - 知乎
  • 增添以下代码即可:
plt.xlim(1971,2021)


http://chatgpt.dhexx.cn/article/iBy9ijAu.shtml

相关文章

Matplotlib之散点图绘制

文章目录 1. 散点图简介2. 散点图的应用场景:3. 绘制散点图4. 回归分析 1. 散点图简介 散点图也叫 X-Y 图,它将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定。 通过观察散点…

Python数据可视化——散点图

PS: 翻了翻草稿箱, 发现居然存了一篇去年2月的文章。。。虽然naive,还是发出来吧。。。 本文记录了python中的数据可视化——散点图scatter, 令x作为数据(50个点,每个30维),我们仅可视化前两维…

Matplotlib 散点图 绘制详解

目录 基础点的大小点的颜色透明度颜色条多组散点 1 散点图 - 基础 代码 import matplotlib.pyplot as plt import numpy as np# 第一组散点 x np.array([1, 2, 3, 4, 5, 6, 7, 8]) y np.array([1, 4, 9, 16, 7, 11, 23, 18]) plt.scatter(x, y) # x 代表x轴 y 代表y轴…

python 绘制三维散点图(已实现)

import numpy as np # 用来处理数据 import matplotlib.pyplot as pltx np.array([1, 2, 4, 5, 6]) y np.array([2, 3, 4, 5, 6]) z np.array([1, 2, 4, 5, 6])ax plt.subplot(projection 3d) # 创建一个三维的绘图工程 ax.set_title(3d_image_show) # 设置本图名称 ax…

用python绘制散点图

在python中画散点图主要是用matplotlib模块中的scatter函数,先来看一下scatter函数的基本信息。 网址为:点击打开链接 可以看到scatter中有很多参数,经常使用的参数主要有以下几个: c: marker: 数据、代码和绘制的图如…

python绘图之散点图

python中matplotlib库入门(2)之绘制散点图 这里写目录标题 python中matplotlib库入门(2)之绘制散点图一.导入库二.设置文字三.设置坐标轴参数四.绘制点五.对点的继续处理1.自定义颜色2.颜色映射 补充1补充2补充3 一.导入库 impor…

python制作三维散点图

最近需要做个文献分类汇总,老师要求要用三维散点图来画。中间还是有一些困难的,稍微记录下。 1.用python读取excel整理的数据,使用的是openpyxl库 方法比较简单,考虑到后续的标签问题,我直接把数据全部用数字代替&…

Python matplotlib绘制散点图

Python matplotlib绘制散点图 上篇文章介绍了使用matplotlib绘制折线图,参考:https://blog.csdn.net/weixin_43790276/article/details/109191533,本篇文章继续介绍使用matplotlib绘制散点图。 一、matplotlib绘制散点图 # codingutf-8 im…

Python绘图-散点图(scatter)

绘制散点图的语法格式如下: ​ plt.scatter(x, y, sNone, cNone, markerNone, cmapNone, normNone, vminNone, vmaxNone, alphaNone, linewidthsNone, *, edgecolorsNone, plotnonfiniteFalse, dataNone, **kwargs)​ x,y:表示数据点的位置。 s:表示数据点的大小…

[Python] 散点图(二维散点图、三维散点图、散点图矩阵)

目录 1 两主特征:二维散点图 1.1 二维散点图 1.2 二维分类散点图 1.3 气泡图 2 三主特征:三维散点图 2.1 三维散点图 2.2 三维分类散点图 3 多主特征:二维散点图矩阵 3.1 二维散点图矩阵 3.2 二维分类散点图矩阵 以python自带数据鸢…

Python数据可视化之散点图(基础篇---图文并茂详细版!!!)

Python数据可视化之散点图 介绍准备工作所需的库虚拟环境 简单散点图总结 两种不同颜色和图例的散点图总结 介绍 •数据可视化的应用十分广泛,几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。下面我们基于Python,介绍一下第一个常用知识点—散点图…

C语言求和问题

问题描述:编写一个程序,求s1(12)…(123…n)

c语言求和

或者可以这样写 注意!下面的写法是错的,数字是随机的,因为只声明没赋值

c语言数列求和中有乘法,C语言数列求和(使用while循环)

这是一个C语言 while 循环的示例,已知有下面的数列: 现在任意给出一个整数 k(1≤k≤15),要求计算出一个最小的 n,使得 Sn>k。 问题分析 输入:一个整数k(1≤k≤15)。 输出:最小的n。 本题算法非常简单&am…

用C语言计算矩阵求和

样例描述&#xff1a; 代码如下&#xff1a; #include<stdio.h> int main() {int N,n,a[51][51],r,c,i,num1,num2,num3,num4;scanf("%d",&N);nN*N;for(r1;r<N;r){for(c1;c<N;c)scanf("%d",&a[r][c]);}for(r1;r<N;r){num10;for(c1;…

c语言初学者如何编写一个相加求和程序

欢迎来到南方有乔木的博客&#xff01;&#xff01;&#xff01; 博主主页&#xff1a;点击点击&#xff01;戳一戳&#xff01;&#xff01; 博主QQ:1636758318 博主简介&#xff1a; 一名在校大学生&#xff0c;正在努力学习Java语言编程。穷且意坚&#xff0c;不坠青云之志&…

C语言斐波那契数列求和两种方法

递归调用函数&#xff1a; #define _CRT_SECURE_NO_WARNINGS int fun(int n); #include<stdio.h> int main() {//斐波那契数列递归求法int a[100] { 0,1,1 };int n, i, sum 0;scanf("%d", &n);for (i 1; i <n; i){sum fun(i);}printf("%d\n&q…

用c语言写一个求和的程序,C语言实现两数求和

能够使一个正确的C语言程序执行的必要顺序&#xff1a;上机输入与编辑源程序(.c)-->对源程序进行编译(.obj)&#xff0c;得到目标函数-->将目标程序 与库函数链接&#xff0c;得到可执行的目标程序(.exe)-->运行可执行的目标程序。今天是一个加法求和的功能的程序&…

c语言 中的求和函数,0基础理解C语言调用汇编实现求和函数

0基础踏入嵌入式开发的第一坑!用无敌简简单单的C程序调用汇编程序实现整数相加,这辈子都有阴影了,这大概是一条一条指令谷歌百度搜出来的结果,学习从来没这么卑微过,唔QAQ 工程大概长这样: add10.s ;routine for the addition of many integers. ;R0 is the counter of t…

C语言整数求和

带注释 #include <stdio.h> //头文件 int main(void) //主函数无参数&#xff0c;返回的值是整数 {long num; //定义了一个长整型变量numlong sum0L; //定义了一个长整型变量sum&#xff0c;把sum初始化为long类型的0printf("Please input an integer to s…