最近在做一个散点图,横轴为经度,纵轴为速度,即不是纬度,因此不是那种展现空间关系的。

但是数据的经度为70到180,之后-180到-170这样,因此用正常的方法出图会出现,-180和180的散点无法进行连接。

于是使用python修改标签的办法。首先将横轴的数据即经度的-180~180变为0-360

利用以下函数实现

def changto360(data):c = data['lon']c[c<0]=c+360data['lon']=creturn data

之后采用以下办法自定义横轴标签

plt.xticks([60,90,120,150,180],#,210['60°E','90°E','120°E','150°E','180°'],#,'150°W'fontsize=12)

以下是所有代码,包含字体的大小的定义和副的刻度值

def changto360(data):c = data['lon']c[c<0]=c+360data['lon']=cc = data['piomas']c[c==-1]=np.nandata['piomas']=creturn data#该程序为了绘制散点图,随着经度变化而变化
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
fig, host = plt.subplots(figsize=(15, 7), dpi=80)#
fig.subplots_adjust(top=0.8,bottom=0.095,left=0.06,right=0.95)ship4=pd.read_csv(r"H:\mission\AIS\speed\20_AIS_position_value.csv") #extent_LS.csv
ship4['datetime'] = pd.to_datetime(ship4['datetime'])ship1=pd.read_csv(r"H:\mission\AIS\speed\2_AIS_position_value.csv") #extent_LS.csv
ship1['datetime'] = pd.to_datetime(ship1['datetime'])ship2=pd.read_csv(r"H:\mission\AIS\speed\2_back_AIS_position_value.csv") #extent_LS.csv
ship2['datetime'] = pd.to_datetime(ship2['datetime'])ship3=pd.read_csv(r"H:\mission\AIS\speed\3_AIS_position_value.csv") #extent_LS.csv
ship3['datetime'] = pd.to_datetime(ship3['datetime'])ship1=changto360(ship1)
ship2=changto360(ship2)
ship3=changto360(ship3)
ship4=changto360(ship4)plt.scatter(ship1['lon'], ship1['piomas'],label="20210105-20210126",alpha=0.5)
plt.scatter(ship3['lon'], ship3['piomas'],label="20210106-20210128",alpha=0.5)
plt.scatter(ship4['lon'], ship4['piomas'],label="20211224-20210119",alpha=0.5)
plt.scatter(ship2['lon'], ship2['piomas'],label="20210127-20210219",alpha=0.5)
#系统默认为蓝色和橙色
plt.xticks([60,90,120,150,180],#,210['60°E','90°E','120°E','150°E','180°'],#,'150°W'fontsize=12)
xminorLocator = MultipleLocator(10) #将x轴次刻度标签设置为10的倍数
host.xaxis.set_minor_locator(xminorLocator)plt.yticks(fontsize=12)
plt.legend(loc="upper center",bbox_to_anchor=(0.7,1.29),prop={
'weight' : 'normal',
'size'   : 15,
})#在散点图右上角显示名字
#plt.xticks(ticks, [labels], **kwargs)
plt.xlabel('longitude(°)',fontdict={'weight': 'normal', 'size': 16})
#plt.ylabel('ship speed(kn)',fontdict={'weight': 'normal', 'size': 16})
plt.ylabel('PIOMAS sea ice thickness(m)',fontdict={'weight': 'normal', 'size': 16})plt.show()
plt.savefig(r'H:\mission\plot\scatter_piomas_longitude.png', dpi=300)

python 散点图 自定义x轴标签/经度180到-180连接相关推荐

  1. seaborn可视化散点图并自定义数据轴标签(X轴和Y轴的轴标签,Change X Y Axis Labels to a Seaborn Plot)

    seaborn可视化散点图并自定义数据轴标签(X轴和Y轴的轴标签,Change X & Y Axis Labels to a Seaborn Plot) 目录

  2. python使用matplotlib可视化、为可视化图像的X轴和Y轴设置自定义的轴标签(axis labels of matplotlib plot)

    python使用matplotlib可视化.为可视化图像的X轴和Y轴设置自定义的轴标签(axis labels of matplotlib plot) 目录

  3. python 画图自定义x轴刻度值

    自定义x轴的刻度值 x = [1,3,5,7,9] plt.xticks(range(len(x)),x) 改变x刻度的显示间隔,同理设置y轴的刻度间隔 #从pyplot导入MultipleLocat ...

  4. Python+matplotlib设置y轴标签距离、位置、竖排

    封面图片:<Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社 图书详情: 配套资源:用书教师可以免费获取教学大纲.教案.课件.源码.习题答 ...

  5. python直方图与x轴对应不起来_Python Matplotlib绘图与x轴标签正确对齐并匹配系列和错误的颜色...

    我希望使用Matplotlib从Pandas Dataframes绘制一些数据 . 我需要控制情节的各种属性 . 我有2个属性有困难: 一个 . 自定义x轴标签的正确间距b . 如何使用相同的颜色绘制 ...

  6. python使用matplotlib可视化、自定义Y轴轴标签刻度旋转的角度(customize degree rotating axis tick labels in matplotlib)

    python使用matplotlib可视化.自定义Y轴轴标签刻度旋转的角度(customize degree rotating axis tick labels in matplotlib y aix ...

  7. Python matplotlib可视化:自定义轴标签格式化函数(在轴刻度上添加自定义的数值以及符号形式)、使用自定义函数在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等)

    Python matplotlib可视化:自定义轴标签格式化函数(在轴刻度上添加自定义的数值以及符号形式).使用自定义函数在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等) 目 ...

  8. 在html中横坐标是纵坐标,excel 作图中次横坐标及次纵坐标的调试,以及excel自定义轴标签的步骤方法...

    在工作中除了要做一些常用的图表之外,不时还会有一切奇怪图表的制作需求. 今天的内容主要记录的是如何对excle图表的次横坐标及次纵坐标进行调试,以及如何自定义调整轴标签 首先看下如何做次纵坐标,工作中 ...

  9. R语言ggplot2可视化时间序列散点图、X轴和Y轴都是时间信息、使用as.POSIXct函数自定义指定Y轴的时间范围(setting time limits in y axis)

    R语言ggplot2可视化时间序列散点图.X轴和Y轴都是时间信息.使用as.POSIXct函数自定义指定Y轴的时间范围(setting time limits in y axis) 目录

最新文章

  1. libev源码解析——定时器监视器和组织形式
  2. java web三大组件之filter过滤器
  3. 使用git进行源代码管理
  4. 购物车的实现 ajax
  5. 最高效的回文数(C语言实现)
  6. 从STL中查找、统计和过滤重复(相同)的数据
  7. Apache 设置http跳转至HTTPS访问
  8. 串的定长存储表示【数据结构】
  9. 计算机word图表布布局在哪,新版Word中的图表布局功能详解
  10. SUN公司经典linux教材转自http://blog.chinaunix.net/uid-20446831-id-1677336.html
  11. idea 分栏_常用SQL优化与IDEA超实用技巧分享
  12. p46_IPv4地址
  13. 最大子段和_算法与数据结构_Python
  14. pandas dataframe 如何把带有千位分隔符的字符串转化为浮点数
  15. Netty-Pipeline组件
  16. c语言双精度型输出小数位数_C语言的double与float类型最多只能默认输出小数位数都取6位?...
  17. bdfg的matlab仿真模型,无刷双馈风力发电机变速恒频控制研究
  18. 音乐厅三角钢琴-Native Instruments Noire v1.1 Kontakt
  19. 第一次申请赴美商务签经历
  20. C语言的switch语句

热门文章

  1. 斯诺登“现身”CES展会 称想回到美国
  2. Qt FFmpeg视频播放器开发(八):播放器UI改造、高仿QQ影音
  3. LPDDR4硬件详解
  4. 第二章 C++编程简介【信息学奥赛】
  5. 为Nextcloud中的视频文件配置缩略图
  6. 血糖参考值及一般诊断标准
  7. javaSE进阶学习笔记
  8. 《CCNP ROUTE 300-101认证考试指南》——8.2节 LSA和OSPF链路状态数据库
  9. 2020暑期牛客多校训练营第八场(E)Enigmatic Partition(数学,二阶隔项差分)
  10. 重尾分布,长尾分布,肥尾分布 和 随机游走 (Heavy-tailed, Long-tailed, Fat-tailed distribution and Random walk)