matplotlib中柱状图Y轴坐标不按顺序排列问题

article/2025/10/9 13:57:04

背景:

昨天偶然做一个爬取数据,做成直方图的小练习发现,最后出来的图标Y轴并不是按顺序排列,按照老规矩,百度一下,找到了原因,一个低级的问题

import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
import bs4
import numpy as np
import matplotlib
import seaborn as sns
import requests
import pandas as pd
# import pickledef datas() :#封装爬取数据函数,以便后续使用url = 'https://www.iqiyi.com/dianying_new/i_list_paihangbang.html'#按照获取的URL进行入参res = requests.get(url)#获取网页内容# print(res.status_code)#检查连接状态bs = bs4.BeautifulSoup(res.text, 'html.parser')#用BS解释网页datas = bs.find('ul',class_="site-piclist").find_all('li')#根据网页特征定位相关数据位置data1 = {}#设置相应字典,用来装爬取到的数据并且返回for data in datas :mov_name = data.find('img')['title'] # 获取电影名字try :mov_rank = data.find('span',class_='dypd_piclist_nub dypd_piclist_nubHot').text #获取电影排名,由于前三特征与后面的不同,因此采用试错历遍相关特征except :mov_rank = data.find('span',class_='dypd_piclist_nub').text #同上mov_score = data.find('span',class_='score').text #获取电影评分数据data1[int(mov_rank)]=mov_scorereturn data1 # 返回获取到的数据
#-----------------------------------------------------------2.对数据进行清洗和处理---------------------------------
data_dict= datas() #提取前述数据进行处理
rate1=list(data_dict.keys())
rate2=list(data_dict.values())
d={'    排名   ':rate1,'   评分   ':rate2}
df=pd.DataFrame(d)    #将年份和比率结合一起
# print(df)                   #输出结果#-----------------------------------------------------------4.对数据进行清洗和处理---------------------------------
#-----------------------------------------------------------折线图---------------------------------# x=rate1   #设置x轴
# y=rate2
# plt.figure(figsize=(200,8),dpi=80)   #设置绘制的图像和字体大小
# plt.plot(x,rate2,color = 'y',label="score")#k是黄色
# plt.xlabel("rank")#横坐标名字
# plt.ylabel("score")#纵坐标名字
# x_major_locator=MultipleLocator(10)
# #把x轴的刻度间隔设置为10,并存在变量里
# ax=plt.gca()
# #ax为两条坐标轴的实例
# ax.xaxis.set_major_locator(x_major_locator)
# #把x轴的主刻度设置为10的倍数
# plt.xlim(1,146)
# #把x轴的刻度范围设置为1到146,十倍间隔
# plt.legend(loc = "best")#图例
# plt.show() 

代码为上述,但是出来的结果如图
在这里插入图片描述

解决方案:

经过一番查证后发现其实是爬取数据的时候评分字段的数据类型是文本= =
因此多加一个int或者float就可以解决对应问题

for data in datas :mov_name = data.find('img')['title'] # 获取电影名字try :mov_rank = data.find('span',class_='dypd_piclist_nub dypd_piclist_nubHot').text #获取电影排名,由于前三特征与后面的不同,因此采用试错历遍相关特征except :mov_rank = data.find('span',class_='dypd_piclist_nub').text #同上mov_score = data.find('span',class_='score').text #获取电影评分数据data1[int(mov_rank)]=float(mov_score)

输出结果
在这里插入图片描述撒花(估计专业程序猿不会犯着低级错误)


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

相关文章

R语言ggplot画条形图按照想要的顺序排列

加载所需要的包 library(ggplot2) library(dplyr)创建数据集 Year <- c(rep("2012" , 3) , rep("2013" , 3) , rep("2014" , 3) , rep("2015" , 3) ) Legend <- rep(c("A" , "X" , "E") , 4) C…

已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列

已知数组a中的元素已按由小到大顺序排列&#xff0c;以下程序的功能是将输入的一个数插入数组a中&#xff0c;插入后&#xff0c;数组a中的元素仍然由小到大顺序排列 #include<stdio.h> int main() {int a[10] { 0,12,17,20,25,28,30 };//定义一个长度为10的数组int i,…

Elsevier 模板 Latex参考文献按引用顺序排列

最近排版一篇Elsevier 期刊的论文&#xff0c;在引用参考文献时&#xff0c;遇到了问题&#xff1a; 1.一开始样式用的是模板里面的样式&#xff0c;得到效果是作者名称在文章中出现&#xff0c;如果换作plain&#xff0c;是按照字母的顺序排列的&#xff0c;比较次序为作者&a…

flex布局warp自动换行后按顺序排列

一、现象 <div class"box"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div></div>1、box&#xff0c; flex布局后 .box …

计算机工作表中按升序排列,表格打乱顺序怎么按顺序排列_怎么把表格内容按顺序排列图文步骤...

Excel表格是我们日常办公常用的工具软件了&#xff0c;使用excel表格处理数据非常的方便高效。有时候我们表格中的数据是打乱了顺序的&#xff0c;我们需要按照顺序排列它们&#xff0c;那么表格打乱顺序怎么按顺序排列呢&#xff1f;别着急&#xff0c;今天小编就针对表格如何…

六种常见的排序算法

一.冒泡排序 冒泡排序就是重复“从序列右边开始比较相邻两个数字的大小&#xff0c;再根据结果交换两个数字 的位置”这一操作的算法。在这个过程中&#xff0c;数字会像泡泡一样&#xff0c;慢慢从右往左“浮”到序列的 顶端&#xff0c;所以这个算法才被称为“冒泡排序”。 …

异常:解决idea一直更新索引的问题

前言 前段时间在用idea的时候&#xff0c;一开始很正常&#xff0c;当我引入其他项目的时候&#xff0c;索引就一直在更新&#xff0c;几个小时过去了&#xff0c;还没有停下来的意思。照着网上搜索来的步骤开始操作(File–>Invalidate Caches/Restart)。好不容易更新索引停…

【Elasticsearch】索引、更新和删除数据

前言 1、使用映射类型来定义同一个索引中的多种文档类型 2、可以在映射中使用的不同字段类型 3、使用预定义的字段及其选项 4、上述这些如何帮助数据的索引、更新和删除 内容 3种类型字段&#xff0c;这些字段是元数据&#xff0c;es会自动管理它们 核心——这些字段包括…

动态更新索引

下一个需要被解决的问题是怎样在保留不变性的前提下实现倒排索引的更新&#xff1f; 答案是: 用更多的索引。 通过增加新的补充索引来反映新近的修改&#xff0c;而不是直接重写整个倒排索引。每一个倒排索引都会被轮流查询到--从最早的开始--查询完后再对结果进行合并。 Ela…

ES索引结构升级-笔记

ES中索引的字段类型是不可修改的&#xff0c;只能是重新创建一个索引并设置好mapping&#xff0c;然后再将老索引的数据复制过去 查看老索引mapping GET /twitter/_mappings创建new索引&#xff0c;并指定mapping PUT /twitter410{"mappings": {"properties&…

深耕ElasticSearch - 动态更新索引

文章目录 1. 建立索引2. 倒排索引的不变性3. 动态更新索引3.1 动态更新索引原理3.2 新增文档3.3 删除和更新文档 1. 建立索引 给定一个文档集合&#xff08;这个集合中的文档是不变的&#xff09;&#xff0c;索引是如何建立起来的呢&#xff1f; 首先在内存里维护一个倒排索…

Solr 新增、更新、删除索引

solr-admin新增索引 [索引中无则新增,有则更新] 第一种方式&#xff1a;在doc标签和field标签中增加权重&#xff08;boost&#xff09;&#xff0c;增加权重后&#xff0c;可以在搜索的时候做权重过滤。 1 2 3 4 <delete> <query> id:"100861"<…

全文索引----solr服务器更新增量索引

上篇文章我们介绍了全量更新solr索引&#xff0c;但是在数据量较大时&#xff0c;频繁的更新索引会消耗系统性能&#xff0c;如果更新频率较低&#xff0c;则会影响短时的数据准确性&#xff0c;所以&#xff0c;更新时间的间隔是个很难界定。增量索引解决了这个问题&#xff0…

解决IDEA一直出现更新索引ideal Updating Indices: Indexing paused问题

前言 小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识&#xff0c;有兴趣的小伙伴可以关注一下&#xff01; 也许一个人独行&#xff0c;可以走的很快&#xff0c;但是一群人结伴而行&#xff0c;才能走的更远&#xff01;让我们在成长的道路上互相学习&…

es 根据索引名称和索引字段更新值

1&#xff1a;指定索引名称和操作指令 instodayorder_new_2022/_update_by_query 2&#xff1a;执行代码 { "script": { "lang": "painless", "source": "if (ctx._source.reserveString_3 null) {ctx._source.reser…

es 修改(更新)索引模板

es 修改(更新)索引模板 es索引模板的好处就不用我多说了&#xff0c;我这里遇到的问题是&#xff0c;如何修改es模板&#xff0c;网上检索的关键词大多是新增/删除模板&#xff0c;我记录一下自己的修改模板操作吧&#xff08;我是在kibana的UI界面进行操作的&#xff09; 1.…

SQL 索引的操作 数据查询(1)数据更新

文章目录 索引的建立与删除建立索引修改索引删除索引 数据更新插入数据插入元组插入子查询结果 修改数据删除数据 数据查询单表查询查询经过计算的值选择表中的若干元组 索引的建立与删除 建立索引 在SQL语言中&#xff0c;建立索引使用 CREATE INDEX 语句&#xff0c;其一般…

Elasticsearch7.8.0版本进阶——动态更新索引

目录 一、如何在保留不变性的前提下实现倒排索引的更新二、按段搜索执行流程三、按段搜索的文档查询四、按段搜索的文档删除五、按段搜索的文档更新 一、如何在保留不变性的前提下实现倒排索引的更新 用更多的索引。通过增加新的补充索引来反映最近的修改&#xff0c;而不是直…

ElasticSearch 动态更新索引

Elasticsearch版本:2.x 1. 不变性 倒排索引被写入磁盘后是 不可改变(immutable):永远不会被修改。不变性有如下几个重要的优势: 不需要锁。如果你没有必要更新索引,你就没有必要担心多进程会同时修改数据。一旦索引被读入内核的文件系统缓存中,由于其不会改变,便会留在那…