python: nuage de points sur l'échelle logarithmique
Dans mon code, je prends le logarithme des deux séries de données et les imprimer. Je voudrais changer chaque valeur de tique de l'axe x en l'élevant à la puissance de e (anti-logarithme du logarithme naturel).
En d'autres termes. Je veux représenter graphiquement les logarithmes des deux séries mais j'ai l'axe des abscisses dans les niveaux.
Voici le code que j'utilise.
from pylab import scatter
import pylab
import matplotlib.pyplot as plt
import pandas as pd
from pandas import Series, DataFrame
import numpy as np
file_name = '/Users/joedanger/Desktop/Python/scatter_python.csv'
data = DataFrame(pd.read_csv(file_name))
y = np.log(data['o_value'], dtype='float64')
x = np.log(data['time_diff_day'], dtype='float64')
fig = plt.figure()
plt.scatter(x, y, c='blue', alpha=0.05, edgecolors='none')
fig.suptitle('test title', fontsize=20)
plt.xlabel('time_diff_day', fontsize=18)
plt.ylabel('o_value', fontsize=16)
plt.xticks([-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4])
plt.grid(True)
pylab.show()
26
demandé sur
natsuki_1996
2013-09-13 00:21:10
1 réponses
let matplotlib
prendre le journal pour vous:
fig = plt.figure()
ax = plt.gca()
ax.scatter(data['o_value'] ,data['time_diff_day'] , c='blue', alpha=0.05, edgecolors='none')
ax.set_yscale('log')
ax.set_xscale('log')
si vous utilisez tous les mêmes marqueurs de taille et de couleur, il est plus rapide à utiliser plot
fig = plt.figure()
ax = plt.gca()
ax.plot(data['o_value'] ,data['time_diff_day'], 'o', c='blue', alpha=0.05, markeredgecolor='none')
ax.set_yscale('log')
ax.set_xscale('log')
57
répondu
tacaswell
2013-09-12 21:37:13