Как получить все данные по моей оси X в Python из CSV-файла - PullRequest
0 голосов
/ 08 апреля 2020

ФАЙЛ CSV:

Words,Count
ca,110
tc,103
cg,103
gt,100
cc,98
at,96
gc,95
ct,95
aa,94
ta,94
ac,94
tt,91
ag,87
gg,84
ga,79
tg,77

Код:

from matplotlib import pyplot as plt
import pandas as pd
df = pd.read_csv('file.csv')
df.plot(kind='line', x='Words', y='Count',logx=True,logy=True)
plt.show()

Когда я получил свой участок, я вижу это: нажмите здесь

Как я могу получить все эти буквы на моей оси X из файла CSV, потому что у меня есть только, например, c и t c?

Обновление

Теперь у меня возникает другая проблема при использовании CSV-файла, который выглядит следующим образом:

Words,Count
tgc,25
tca,24
agt,22
gac,22
gtc,22
cag,21
caa,21
ctg,21
act,21
atg,20
aaa,20
aat,20
cgt,20
att,20
gta,20
ttc,19
cct,19
ctt,18
agc,18
gct,18
cgg,18
ata,18
aag,18
tac,18
aca,18
cac,18
gtt,17
ggg,17
cgc,17
cta,17
gcc,17
cca,17
tcc,16
acc,16
tcg,16
atc,16
aga,15
gat,15
gtg,15
ttt,15
tat,15
gaa,14
tct,14
ccg,14
ggt,14
acg,13
gga,13
ccc,13
aac,12
gca,12
tgg,12
tta,12
cga,12
ctc,11
gag,11
gcg,11
agg,11
cat,11
ttg,11
ggc,9
tgt,9
tga,1

Мой график выглядит следующим образом: нажмите здесь Есть ли шанс ясно увидеть все на моей оси x? Мой код сейчас:

df = pd.read_csv("file2.csv")

ax=df.plot(kind='line', y='Count',logx=False,logy=True)
ax.xaxis.set_ticks(df.index)
ax.xaxis.set_ticklabels(df['Words'])
plt.figure(figsize=(10,30))
plt.show()

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Я думаю, что ваша главная проблема в том, что вы также задали ось x логарифмией c. Было ли это намеренно? Я думаю, что это не так - по крайней мере, я не знаю, как интерпретировать ось логарифмического масштаба только с текстовыми метками.

Попробуйте это с логарифмической c только осью y и установите x-ticks и x-метки явно:

df = pd.read_csv('file.csv')
ax = df.plot(kind='line', x='Words', y='Count',logx=False,logy=True)

ax.xaxis.set_ticks(df.index)
ax.xaxis.set_ticklabels(df['Words'])

plt.show()

(logx=False также может быть опущено, поскольку это значение по умолчанию.)

enter image description here

0 голосов
/ 08 апреля 2020

Используйте индекс для галочек и Серии для меток.

...
ax = df.plot(kind='line', y='Count')
ax.xaxis.set_ticks(df.index)
ax.xaxis.set_ticklabels(df['Words'])
plt.show()

Или просто:

df.plot(x='Words',y='Count',xticks=df.index)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...