第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

僅在頻率變化時(shí)繪制日期

僅在頻率變化時(shí)繪制日期

MMTTMM 2021-11-16 16:10:56
我一直在嘗試根據(jù)頻率繪制日期。這是我的數(shù)據(jù)集的樣子:2017-07-04,132018-04-11,132017-08-17,132017-08-30,132018-04-26,122018-01-03,122017-07-05,112017-06-21,11這是我試過的代碼:with open('test.csv', 'w') as f:    writer = csv.writer(f)    writer.writerows(temp)### Extract data from CSV ###with open('test.csv', 'r') as n:    reader = csv.reader(n)    dates = []    freq = []    for row in reader:        dates.append(row[0])        freq.append(row[1])fig = plt.figure()graph = fig.add_subplot(111)# Plot the data as a red line with round markersgraph.plot(dates, freq, 'r-o')graph.set_xticks(dates)graph.set_xticklabels(    [dates])plt.show()這是我得到的結(jié)果:xlabels 非常混亂。我希望標(biāo)簽中的日期僅在值發(fā)生變化時(shí)顯示。我不知道該怎么做。幫助表示贊賞。謝謝!
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊

首先,我強(qiáng)烈建議您使用該pandas庫及其DataFrame對象來處理您的數(shù)據(jù)。它有一些非常有用的功能,例如read_csv,可以為您節(jié)省一些工作。


為了讓 matplotlib 空間更合理,您需要將日期轉(zhuǎn)換為datetime對象(而不是將日期存儲為字符串)。


在這里,我將使用 Pandas 讀取您的數(shù)據(jù),解析日期并按日期排序:


import pandas as pd

import matplotlib.pyplot as plt

import numpy as np


# Read data

df = pd.read_csv('/path/to/test.csv', names=['date', 'freq'], parse_dates=['date'])

# Sort by date

df.sort_values(by='date', inplace=True)

然后您可以繼續(xù)繪制數(shù)據(jù)(您需要最新版本的熊貓來自動處理日期):


fig, ax = plt.subplots(1, 1)


# Plot date against frequency

ax.plot(df['date'], df['freq'], 'r-o')


# Rotate the tick labels

ax.tick_params(axis='x', rotation=45)


fig.tight_layout()

如果你只是想顯示的日期時(shí)的頻率變化,下面將工作


ax.set_xticks(df.loc[np.diff(df['freq']) != 0, 'date'])

雖然我不會推薦它(不等間距看起來很亂)


查看完整回答
反對 回復(fù) 2021-11-16
  • 1 回答
  • 0 關(guān)注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號