Any good visualization program for my situation? - visualization

Suppose you have a hash table where keys are strings and values are integers. Do you have any idea to visualize the hash table as a bar graph or histogram such that x-axis represents the key strings and y-axis represents the range of values?
Thanks in advance!

I don't know exactly what you are looking for but this is something you could do. You can use python with matplotlib. The following piece of code might help you to achieve what you want.
import matplotlib.pyplot as plt
hashtable = {'key1':10 , 'key2':20 , 'key3':14}
plt.bar(range(len(hashtable)), hashtable.values(), align='center')
plt.xticks(range(len(hashtable)), hashtable.keys())
plt.show()
For that you need to install python and matplotlib.

Related

Importing multiple .cvs files into MATLAB without headers into separated matrices

I have 100 .csv files that I want to import as 100 matrices into MATLAB. Each file has six columns and the first four rows are headers. I need each matrix to be imported as six columns without the first four rows.
Example code would be appreciated!
Thanks.
Very helpfull for such operations is the Matlab import tool which you will find in the Home tab and use it to generate a import function (Matlab-Code).
This tool allows you to select the data you need graphically and declare the data format and the variable names. Instead of importing this data directly, you can generate a import function. This function you can use to import all 100 .csv files in a loop. Further you can alternate the code for more detailed import settings.
(Detailed Explanation: https://www.mathworks.com/help/matlab/ref/importtool-app.html)
Hope this helps, cheers

Replacing infinite values with a finite number in MATLAB

I'm a little new to MATLAB and I am working on a class project. So I have these infinite values in my U matrix which I want to remove and replace with 0. This is part of my code:
U(Nt,y)=inv(h(Nt,y).*Atot(Nt,y))+inv(h3(y).*Ain2(y))+Rcond(y)
There are lots of inifinite values which I should remove to clear up my graphs. If you need any more information just ask. Thanks in advance!

Getting values in Seaborn boxplot

I would like to get the specific values by a boxplot generated in Seaborn
(i.e., media, quartile). For example, in the boxplot below (source: link)
Is there a any way to get the media and quartiles instead of manually estimation?
import numpy as np
import seaborn as sns
sns.set(style="ticks", palette="muted", color_codes=True)
# Load the example planets dataset
planets = sns.load_dataset("planets")
# Plot the orbital period with horizontal boxes
ax = sns.boxplot(x="distance", y="method", data=planets,
whis=np.inf, color="c")
I would encourage you to become familiar with using pandas to extract quantitative information from a dataframe. For instance, a simple thing you could to do to get the values you are looking for (and other useful ones) would be:
planets.groupby("method").distance.describe().unstack()
which prints a table of useful values for each method.
Or if you just want the median:
planets.groupby("method").distance.median()
Sometimes I use my data as a list of arrays instead of pandas. So for that, you might need:
min(d), np.quantile(d, 0.25), np.median(d), np.quantile(d, 0.75), max(d)

xlsread function with very small number matlab

I want to use xlsread function in matlab to import very small data like 10E-13. But it always shows 0 in vector 'num'. I want to read the exact number and export it.
So, does anyone know how to increase the accuracy or precision?
Thank you in advance!
You can't change the precision with which xlsread reads the data. However, the output array might actually contain the data in num, but MATLAB displays it as 0. Run format long g, then diplay it again.

Matlab Importdata

I'm currently writing a piece of code which is supposed to import text files using importdata and count the number of columns, i thought the cols() function would suffice for this, but it seems that all the imported data is stored as a double, meaning I can't perform this operation.
M=importdata('title');
numcols=cols(M.data);
Am I doing something wrong? I thought the data fromthe text file would be stored in a matrix/array?
Cols is a specific function for use in the database toolbox.
You probably just want to use the size function. EG:
size(M.data,2); %Returns number of columns
FYI
size(M.data, 1); %Returns number of rows.